linux的定时任务最少是1分钟执行一次,如果我们的程序需要几秒钟就执行一次时,那么就无法满足需求了。
此时,可以写一个程序(loop.sh),让其一直死循环,例如:
#!/bin/bash
while true ;do
php /www/wwwroot/dedemao/test/push/test.php
sleep 10
done
以上程序的含义是:每次循环都用php去执行一个php文件(test.php),10秒后,再次执行该文件。
nohup
用途:不挂断地运行命令。
&
用途:在后台运行
一般两个一起用
nohup command &
eg:
nohup sh loop.sh &>/dev/null &
通过以上命令就可以让loop.sh这个程序一直在后台运行了,即使关闭了linux服务器连接程序,依然会执行。
ps -ef
ps -aux|grep loop.sh
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
注:
用ps -def | grep查找进程很方便,最后一行总是会grep自己
用grep -v参数可以将grep命令排除掉
ps -aux|grep loop.sh| grep -v grep
用awk提取进程ID
ps -aux|grep chat.js| grep -v grep | awk '{print $2}'
终止后台运行的进程
kill -9 进程号