私はUbuntu 16.04を使用しています。Apache2をUbuntuで再起動した後にbashスクリプトを実行します
Apache2が再起動してコマンドライン(bash)を実行すると呼び出されるフックを追加したいとします。
php artisan queue:work --queue=high
アイデアたとえば?
私はUbuntu 16.04を使用しています。Apache2をUbuntuで再起動した後にbashスクリプトを実行します
Apache2が再起動してコマンドライン(bash)を実行すると呼び出されるフックを追加したいとします。
php artisan queue:work --queue=high
アイデアたとえば?
"フック"は決して理想的ではありませんが...あなたはapacheプログラムの状態をチェックし、 "スイッチ"変数を切り替えるスクリプトを書くことができます。
#!/bin/bash
s=0;
while true; do
/etc/init.d/apache2 status > /dev/null;
if [ $? -eq "0" ] && [ ! "${s}" -eq $? ]; then
# Do whatever you want to do when apache first starts running.
fi
s=$?
done
だから我々はs
の魔女がいる。 apache2の戻りコードstatus
を確認します。 0実行されていない場合は0(3)ではなく、実行されているように見えます。
$?
は、わからない場合は最後に実行したコマンドのステータスコードを返します。
if [ $? -eq "0" ] && [ ! "${s}" -eq $? ];
apacheが実行されていても、前回チェックしたときに実行されていなかった場合、開始されたばかりです。いくつかの仕事をしましょう。
s=$?
この行は、スイッチを最後のステータスコードに設定します。...次のループ$s
は実際にはeq $?
になり、ループは実行されません。
あなたは、sleep 1
を追加することをお勧めします。または、apacheの起動とプログラムの実行の間に許容可能な遅延があるかどうかを確認することを強くお勧めします。