これは私がここで初めて尋ねるものなので、私と一緒に裸にしてください。私はこの質問をGoogleで検索しましたが、私の特別なケースでは役に立たないものは何も見つかりませんでした。bashで実行中のコマンドのPIDを見つける方法は?
だから私が理解しようとしているのは、実行中の特定のコマンドのPIDであり、必要に応じてそれを強制終了できます。私はそれが私にPIDを与える必要がありますので、おそらく
my_command & echo $!
echo $!
を入力して、コマンドのPIDを取得することが可能です知っています。しかし、これはそうではない、と私はなぜ私が知っていると思う:次のように私のコマンドがある :
screen
第1およびタイプのコマンドを開き、上の保持
screen -d -m -S Radio /path/to/folder -f frequency -r path/to/song
バックグラウンドで実行しています。このように、echo
が私に示すPIDは間違ったものです。私は、それは私のPIDをscreen -d -m -S Radio /path/to/folder -f frequency -r path/to/song
の代わりに、画面の新しい端末で実行されたコマンドのPIDのPIDを示すと思います。
しかし、別の問題があります。端末でscreen -ls
を実行すると、バックグラウンドで実行されているコマンドが表示されません。 Piは常に25%のCPU使用率(0%または1%の代わりに)で常時使用されているため、実際にコマンドとPIDが表示されます。
これで、私はコミュニティに電話します:新しい端末でその特定のコマンドのPIDをどのように見つけることができるか考えてください。私はbashスクリプトを書いているので、コードを使ってPIDを得ることができなければなりません。 PerfectはPIDを変数に格納するコマンドです!
ありがとうございます!
SOはプログラミングに関する質問であり、Linuxの使用または設定に関する質問ではありません。 SuperUser.comまたはunix。stackexchange.comはこのような質問のためのより良い場所になります。 – Barmar
'pgrep -f search_pattern' - 人間が消費するための出力であれば' -l'フラグを付け加えます。 –
ありがとう@glennjackman、あなたのコメントは私のために働いた。どういうわけか私は今、コマンドのPIDを持っています! – Zebiano