0
我使用Ubuntu 16.04。在Ubuntu2上重新啓動後運行bash腳本
我想添加一個鉤子,一旦Apache2重新啓動並運行一個命令行(bash)就會被調用。
例如
php artisan queue:work --queue=high
想法?
我使用Ubuntu 16.04。在Ubuntu2上重新啓動後運行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啓動和你的程序運行。