![psコマンドは正しく機能しませんか? [閉鎖]](https://linux33.com/image/89956/ps%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
私はBashシェルでDebian Virtual Boxを使用していますが、-cスイッチでpsコマンドを使用してプロセス名を検索してプロセスIDを見つけようとしています。これが私が書いたものです:
ps -c processname
それからそれは私に言う:
エラー:サポートされていないオプション(BSD構文)
以下は、私が現在使用している構文を使用しているウェブサイトを示すURLです。killコマンドとLinuxでプロセスを終了する方法を学びます。
助けが必要ですか?
答え1
この構文を試してください。
ps -A | grep processName
結果にgrepプロセスが含まれている場合は、次のコマンドを使用して削除します。
ps -A | grep processName | grep -v grep
私の経験では、ほとんどのLinuxプログラムは同じ方法で動作しますが、常にいくつかの違いがあります。
正しいインストール構文については、マニュアルページで現在のバージョンを確認してください。
man ps
注:grepのマニュアルページを確認して大文字と小文字を区別しないでください。
man grep
答え2
このブログ記事では、フラグではなく-C
フラグの使用について説明します-c
。大文字Cを小文字Cに置き換えても機能しません。オプションは大文字と小文字を区別します。これらの転写の問題を回避するには、コピーして貼り付けてください。
つまり、出力を解析するのはps -C
良い考えではありません。これを行う専用プログラムがあります。pgrep
。pgrep -f processname
指定されたコマンドを実行しているプロセスを確認するために使用されます。その他の便利なオプションについては、マニュアルを参照してください。終了するプロセスを正確に決定したら、次のようpgrep
に置き換えますpkill
。pkill
まったく同じプロセスpgrep
(同じコード、さらに同じバイナリ)を一致させますが、そのプロセスに関する情報を表示するのではなく終了します。