web-dev-qa-db-ja.com

Nohupコマンドで実行されるプロセスを検索します

次のコマンド"Nohup server &"を使用して、Centosでサーバー実行可能ファイルを実行します。次に、プロセス"server"を強制終了する必要があります。しかし、"ps -a"コマンドを使用してPIDを取得しようとしましたが、プロセスを取得できませんでした。さて、今"server"を殺す方法は?

9
2vision2

ps auxwww|grep -i 'server'は、serverを含むすべてのプロセスを返す必要があります。そうでない場合、サーバーはすでに停止している可能性があります。

次のようにPIDを決定(およびファイルに保存)できるはずです。

Nohup server &
print $! >> my_server.pid
15
Usman Saleem

Nohup.outファイルが作成された場合、bashで実行できます。

# lsof Nohup.out

ファイルを作成/実行しているpidを返します

宜しくお願いします!

12
ignivs

psコマンドを使用して正確なプロセスをキャッチする明確な方法はありませんが、次を使用できます。

ps -a | grep "server"

「サーバー」という名前で実行されているすべてのプロセスのリストが表示されます

または、他のキーワードを使用してps出力をgrepすることもできます。

2
Arpit

CentOSでサーバーを起動する最良の方法は、serviceコマンドを使用することです。

そう service httpd start

プログラムをデーモンとして書きたいと思う可能性があります

デーモン(またはサービス)は、ユーザーの介入がほとんどまたはまったくない状態で自律的に実行されるように設計されたバックグラウンドプロセスです。 Apache Webサーバーのhttpデーモン(httpd)は、そのようなデーモンの例の1つです。特定のポートをリッスンするバックグラウンドで待機し、リクエストのタイプに基づいてページを提供するか、スクリプトを処理します。

http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html を参照してください。

1
Mikhail