質問: バックグラウンドプロセスを終了する方法 リモートマシンで&を使用してバックグラウンドでwgetを開始しました。突然ダウンロードが停止します。プロセスを終了して、コマンドを再実行したい。どうすれば終了できますか?シェルウィンドウを閉じていません。しかし、あなたが知っているように、それは使用を止めません ctrl+c そして ctrl+z。
回答: これに対処するには多くの方法があります。方法#1-pspsコマンドを使用してこのプロセスのプロセスidを検索し、pidを使用してプロセスを強制終了できます。例$ ps -eaf | grep [w]get saml 1713 1709 0 dec10 pts/0 00:00:00 wget ... $ kill 1713 方法#2-pgreppgrepを使用してプロセスidを見つけることもできます。例$ pgrep wget 1234 $ kill 1234 方法#3-pkill実行した唯一のwgetであると確信している場合は、pkillコマンドを使用して、ジョブを名前で強制終了できます。例$ pkill wget 方法#4-ジョブ現在バックグラウンドになっているジョブを実行した場所から同じシェルにいる場合。 jobsコマンドを使用して、まだ実行されているかどうかを確認し、ジョブ番号で強制終了することもできます。例私の偽の仕事、sleep。$ sleep 100 & [1] 4542 ジョブ番号を見つけます。 注: 4542はプロセスidです。$ jobs [1]+ running sleep 100 & $ kill %1 [1]+ terminated sleep 100 方法#5-fgfgコマンドを使用して、バックグラウンドジョブをフォアグラウンドに戻すことができます。例偽の仕事、sleep。$ sleep 100 & [1] 4650 ジョブの番号を取得します。$ jobs [1]+ running sleep 100 & ジョブ#1をフォアグラウンドに戻してから、 ctrl+c。$ fg 1 sleep 100 ^c $