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启动和你的程序运行。