web-dev-qa-db-ja.com

disownで作成されたプロセスを強制終了するにはどうすればよいですか?

ターミナルを常に開いたままにするのではなく、プログラム、redshiftをバックグラウンドで実行し続けたいと思いました。 フォーラム から、$ redshift &に続けて$ disownと入力することでこれを実行できることを学びました。ただし、コンピューターを再起動せずにこのプロセスを停止する方法がわかりません。どこかで説明されていると思いますが、Linuxに関しては文盲です。これを止める方法を簡単に説明していただければ幸いです。

1
Ken Chester

最初のステップは、プロセスのID番号(プロセスID-PIDと呼ばれます)を見つけることです。それを見つけるための優れたユーティリティはpgrepです。ここでは、プロセス名の一部を指定でき、各一致のPIDを返します。

pgrep redshift

ps aux | grep redshiftは、一致するものが複数ある場合に適切なプロセスを決定するのにも役立ちます。

次のステップは、シグナルを送信してからプロセスを終了することです。

kill PID

ここで、PIDはpgrepによって返される番号です。

異なるセマンティクスで異なる信号を送信できます。 kill -SIGKILL PIDはプロセスを終了することが保証されていますが、クリーンアップの余地はありません。 kill PIDおよび/またはkill -SIGINT PIDは通常望ましいです。

名前が一致するプロセスにシグナルを送信するpkillもあります。

2
user000001