シェルスクリプトの停止と起動

シェルスクリプトの停止と起動

プロセスを開始するための簡単なスクリプトを作成しましたが、プロセスが手動で実行/停止されるため、停止ステップを追加する方法がわかりません。

現在のプロセスを開始するために単一のコマンドラインを使用します。

omrun dssdaemon <a string to run>

その後、これを停止するには、一般的なpsコマンドを使用します。

ps -ef | grep -i dssdaemon

kill -9 <PID>

ここまで来た

#!/bin/sh
# Priti's script to start dss daemon
pid=$(ps -ef | grep dssdaemon | grep -v grep | awk '{print $2}')
DSS_START=omrun dssdaemon <a string to run>

$DSS_START; sleep 15;
echo "DSS Daemons is running with PID[S] below" && $pid

このプロセスにはpidofを使用するためのいくつかの制限があるので、awk文字列を作成しました。

ステータスと終了ステップを追加するのに役立つ必要があります。

このような

# status dss daemon
DSS Daemon is running with PID[S] below
123456
432145

# start dss daemon
DSS Daemon is started with PID[S] below
123456
432145

# stop dss daemon
DSS Daemon with PID[S] below were killed
123456
432145

答え1

killallまたはツールを試してくださいpkill。以前と同様にプロセスに信号を送信しますkill。しかし、pidでプロセスを見つけるのではなく、名前でプロセスを見つけます。複数の悪魔が実行されている場合、すべての悪魔が信号を受け取ります。

killall -9 dssdaemon

関連情報