10

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

4

4 に答える 4

19

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

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

nohup server &
print $! >> my_server.pid
于 2013-01-04T06:11:29.413 に答える
15

nohup.out ファイルが作成されている場合は、bash で実行できます。

# lsof nohup.out

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

よろしくお願いします!

于 2014-08-20T15:44:20.317 に答える
5

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

ps -a | grep "server"

「サーバー」という名前で実行されているすべてのプロセスのリストを取得します

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

于 2013-01-04T07:09:15.160 に答える
1

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

そう service httpd start

プログラムをデーモンとして書きたい場合があります。

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

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

于 2013-01-04T06:09:36.420 に答える