次のコマンド"Nohup server &"
を使用して、Centosでサーバー実行可能ファイルを実行します。次に、プロセス"server"
を強制終了する必要があります。しかし、"ps -a"
コマンドを使用してPID
を取得しようとしましたが、プロセスを取得できませんでした。さて、今"server"
を殺す方法は?
ps auxwww|grep -i 'server'
は、server
を含むすべてのプロセスを返す必要があります。そうでない場合、サーバーはすでに停止している可能性があります。
次のようにPIDを決定(およびファイルに保存)できるはずです。
Nohup server &
print $! >> my_server.pid
Nohup.outファイルが作成された場合、bashで実行できます。
# lsof Nohup.out
ファイルを作成/実行しているpidを返します
宜しくお願いします!
ps
コマンドを使用して正確なプロセスをキャッチする明確な方法はありませんが、次を使用できます。
ps -a | grep "server"
「サーバー」という名前で実行されているすべてのプロセスのリストが表示されます
または、他のキーワードを使用してps出力をgrepすることもできます。
CentOSでサーバーを起動する最良の方法は、serviceコマンドを使用することです。
そう service httpd start
プログラムをデーモンとして書きたいと思う可能性があります
デーモン(またはサービス)は、ユーザーの介入がほとんどまたはまったくない状態で自律的に実行されるように設計されたバックグラウンドプロセスです。 Apache Webサーバーのhttpデーモン(httpd)は、そのようなデーモンの例の1つです。特定のポートをリッスンするバックグラウンドで待機し、リクエストのタイプに基づいてページを提供するか、スクリプトを処理します。
http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html を参照してください。