やりたいこと
あるバッチ処理で、hulftのデーモンが起動しているか確認する処理があった。
このバッチを正常終了させたいが、実際にhulftのデーモンを起動させることはできない。
(ローカル環境でhulftコマンドがなかったり、デーモンを起動させるとなにかとよろしくないような場合)
hulftのデーモンはhulobsd、hulsndd、hulrcvdの3種類あり、これらが起動している状態に偽装する。
つまり、pgrep -c hul
の結果を3にしたい。
やり方
1.sleepコマンドをコピーする
※「~」はホームディレクトリと呼ばれる場所です。
cp -p $(which sleep) ~/bin/hulobsdSleep
cp -p $(which sleep) ~/bin/hulsnddSleep
cp -p $(which sleep) ~/bin/hulrcvdSleep
2.コマンドを配置したディレクトリへパスを通す(通っていれば不要)
PATH=~/bin:${PATH}
3.sleepをバックグラウンドで起動する
1hは1時間という意味。ここはなんでもよい。
指定なしでもいいかと思ったけど、killし忘れると面倒なことになる。
hulobsdSleep 1h &
hulrcvdSleep 1h &
hulsnddSleep 1h &
4.プロセスが起動したか確認する(任意)
$ ps | grep Sleep
10658 pts/0 00:00:00 hulobsdSleep
10660 pts/0 00:00:00 hulrcvdSleep
10662 pts/0 00:00:00 hulsnddSleep
5.バッチ処理を実行する
6.プロセスを停止する
pkill Sleep
7.プロセスが停止したか確認する(任意)
何も出力されなければOK。
ps | grep Sleep
以上