[解決済み】nohupプロセスをkillするためにプロセスIDを取得する方法?
質問内容
サーバーでnohupプロセスを実行しています。このプロセスを終了させようとすると、puttyコンソールが終了してしまいます。
このようにプロセスIDを探そうとします。
ps -ef |grep nohup
これはkillするコマンドです。
kill -9 1787 787
解決方法は?
を使用する場合
nohup
で、タスクをバックグラウンドに置くと、バックグラウンド演算子(
&
)は、コマンドプロンプトでPIDを与えてくれます。もしプロセスを手動で管理するつもりなら、その PID を保存しておき、 後で必要なときに
kill PID
または
kill -9 PID
(強制終了が必要な場合)。あるいは、後でPIDを見つけるには、次のようにします。
ps -ef | grep "command name"
を作成し、そこからPIDを特定します。なお
nohup
キーワード/コマンドそのものは
ps
の出力で、当該コマンドの
スクリプトを使う場合は、スクリプトの中でこのようなことができます。
nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt
これは、次のように実行されます。
my_command
に保存され、すべての出力は
my.log
(スクリプトで
$!
は最後に実行されたプロセスのPIDを表します)。そのため
2
は、標準エラー用のファイルディスクリプタ (
stderr
) と
2>&1
は、標準エラー出力を標準出力にルーティングするようシェルに指示します(ファイル記述子
1
). そのためには
&1
という名前のファイルではなく、そのコンテキストでのファイルディスクリプタであることをシェルが認識できるようにするためです。
1
. その
2>&1
は、通常標準エラーに書き込まれるエラーメッセージを
my.log
ファイル (これは標準出力から来る) を作成します。参照
I/Oリダイレクション
は、シェルでのI/Oリダイレクションの処理について、より詳しく説明します。
コマンドが定期的に出力を送信する場合、時々出力を確認するために
tail my.log
または、ライブで追いかけたい場合は
tail -f my.log
. 最後に、プロセスを終了させる必要がある場合は、以下の方法で行うことができます。
kill -9 `cat save_pid.txt`
rm save_pid.txt
関連
-
[解決済み] pkg-configが見つからないエラー
-
[解決済み] Linuxのシェルでwebsocketの応答を読み取る方法
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] すでに実行中のプロセスをnohup下に置くにはどうすればよいですか?
-
[解決済み] バックグランドプロセスのプロセスIDを取得する方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ssh: ホスト名を解決できなかった [ホスト名]: nodename も servname も提供されないか、不明 [終了].
-
[解決済み】 "find: paths must priore expression:" カレントディレクトリのファイルも見つける再帰的検索を指定するには?
-
[解決済み】CentOSのエラー - sudo: effective uid is not 0, is sudo installed setuid root?
-
[解決済み] pkg-configが見つからないエラー
-
[解決済み] ls -l の "total" が表示されるファイルサイズの合計にならないのはなぜですか?[クローズド]
-
[解決済み] シェルで 'exec ls' を実行すると何が起こるか、またその理由は?[クローズド]。
-
[解決済み] STRACEがEAGAINを表示する理由(リソースが一時的に使用できないため)
-
[解決済み] Linux の設定 -- ssmtp: smtp.gmail.com:587 を開くことができません。
-
[解決済み] Nautilusのようにコマンドラインからマウントする方法とは?[クローズド]です。
-
[解決済み] grepコマンドで特定の列にマッチングさせる