Linux でプロセスを表示および強制終了する方法: まず、「ps -aux | grep プログラム名」コマンドを使用して関連するプロセスを表示し、プロセス番号 PID を取得します。次に、「kill -9 PID」コマンドを使用して、プロセスを強制終了します。
このチュートリアルの動作環境: Red Hat Enterprise Linux 6.1 システム、Dell G3 コンピューター。
問題の説明:
nohup & を使用してバックグラウンド プログラムを実行します。コマンドは次のとおりです:
nohup python server.py &
このコマンドはプログラムを実行し続けることができます。バックグラウンドで (xshell が切断されてもサービスは停止しないことを保証します)
しかし、server.py を再起動すると、サーバーはポートが占有されているというプロンプトを表示します
現時点では、最初に前のプログラムを強制終了して再起動する必要があります。
手順:
1. プロセスを確認し、プロセス番号を取得します。
1) lsof -i:port を使用します。表示する番号 プロセス番号 (ポート番号がわかっている場合)。たとえば、ポート 1500 のプロセス番号を確認します。
lsof -i:1500
この PID 79297 はプロセス番号です。
2) 状況 システムが lsof をサポートしていない場合は、netstat
netstat -ntlp | grep [port]
3) ポート番号は不明だがプログラム名がわかっている場合は、ps aux を使用して表示します
ps -aux | grep server.py
S ではない列が PID に対応します。
どの列 S1 が実行ステータス STAT を表し、S が中断を表しますか?とにかく、調べてもわかりません。私が理解しているのは、S は実行中のプログラムのプロセス番号ではなく、クエリ コマンドの一時的なプロセス番号を表すということです。通常、S、Sl、または Sl は実行中のプログラムを表します。
(さらに、ps aux を使用すると、他の人の USER には名前が表示されるのに、私の場合は 515 ユーザー ID が表示されるのはなぜですか? 確認したところ、Linux の仕組み自体に問題があることがわかりました。ユーザー名が 8 文字を超えると、システムによってユーザーの対応する ID が自動的に表示されます。)
2. 彼を殺す
kill -9 PID
備考 :
1) PID に応じてプロセス名を問い合わせることができます。コマンドは次のとおりです:
ll /proc/PID
This実行中のプログラムのパスを見つける方法
関連する推奨事項:《Linux ビデオ チュートリアル》
以上がLinuxでプロセス番号を確認してプロセスを強制終了する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。