Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查守护程序服务是否通过Cron作业或脚本运行?_Php_Python_Bash_Cron_Daemon - Fatal编程技术网

Php 如何检查守护程序服务是否通过Cron作业或脚本运行?

Php 如何检查守护程序服务是否通过Cron作业或脚本运行?,php,python,bash,cron,daemon,Php,Python,Bash,Cron,Daemon,如何设置cron作业来监视(通过SSH)运行相同守护程序脚本(服务)的多个pi 我曾考虑使用cron作业来监视服务状态,并在服务状态为活动或非活动时写入服务器上的文件,然后我可以稍后使用该文件的内容将cron作业的结果显示在网页上(但这将由我稍后确定) 如果有人能想出一种更简单的方法来使用不同的工具,例如bash脚本、python脚本、PHP等等,我愿意接受其他的选择 如何检查守护程序服务是否正在运行 在RHEL/CentOS v4.x/5.x/6.x和Fedora Linux(旧版本)中,验证

如何设置cron作业来监视(通过SSH)运行相同守护程序脚本(服务)的多个pi

我曾考虑使用cron作业来监视服务状态,并在服务状态为活动或非活动时写入服务器上的文件,然后我可以稍后使用该文件的内容将cron作业的结果显示在网页上(但这将由我稍后确定)


如果有人能想出一种更简单的方法来使用不同的工具,例如bash脚本、python脚本、PHP等等,我愿意接受其他的选择

如何检查守护程序服务是否正在运行

在RHEL/CentOS v4.x/5.x/6.x和Fedora Linux(旧版本)中,验证Cron服务 只需使用以下任一命令即可查看crond是否正在运行,输入:

$ pgrep crond
$ pgrep cron

样本输出:

# crond (pid 4370) is running...
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Tue 2015-05-19 14:53:32 EDT; 3min 7s ago
 Main PID: 1292 (crond)
   CGroup: /system.slice/crond.service
           └─1292 /usr/sbin/crond -n
â— cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled)
   Active: active (running) since Tue 2015-05-19 11:49:32 IST; 12h ago
     Docs: man:cron(8)
 Main PID: 1053 (cron)
   CGroup: /system.slice/cron.service
           ├─1053 /usr/sbin/cron -f
           └─3020 /usr/bin/atop -a -w /var/log/atop/atop_20150520 600
如果未运行,请键入以下两个命令以启动crond:

$ chkconfig crond on
$ service crond start
通过查看日志文件验证cron是否正在运行,请输入:

$ tail -f /var/log/cron
关于CentOS/RHEL v7.x+和最新版本Fedora Linux的说明 您需要使用以下命令来确定crond是否正在运行:

$ systemctl status crond.service
# systemctl status cron
样本输出:

# crond (pid 4370) is running...
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Tue 2015-05-19 14:53:32 EDT; 3min 7s ago
 Main PID: 1292 (crond)
   CGroup: /system.slice/crond.service
           └─1292 /usr/sbin/crond -n
â— cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled)
   Active: active (running) since Tue 2015-05-19 11:49:32 IST; 12h ago
     Docs: man:cron(8)
 Main PID: 1053 (cron)
   CGroup: /system.slice/cron.service
           ├─1053 /usr/sbin/cron -f
           └─3020 /usr/bin/atop -a -w /var/log/atop/atop_20150520 600
如果未运行,请将crond服务配置为在引导时自动启动:

$ sudo systemctl enable crond.service
$ sudo systemctl start crond.service
$ sudo systemctl enable cron.service
$ sudo systemctl start cron.service
关于Debian/UbuntuLinux(旧版本)Cron服务的说明 在Debian和Ubuntu上,Linux cron将其操作记录到syslog工具中,即使用/var/log/messages文件:

$ tail -f /var/log/messages
了解cron守护进程是否正在运行,请输入:

$ pgrep crond
$ pgrep cron
如果未运行启动,请输入:

$ update-rc.d cron defaults
$ /etc/init.d/cron start
关于DebianLinuxV8.x+和Ubuntu Linux最新版本的说明 检查cron服务是否正在运行的语法如下:

$ systemctl status crond.service
# systemctl status cron
样本输出:

# crond (pid 4370) is running...
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Tue 2015-05-19 14:53:32 EDT; 3min 7s ago
 Main PID: 1292 (crond)
   CGroup: /system.slice/crond.service
           └─1292 /usr/sbin/crond -n
â— cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled)
   Active: active (running) since Tue 2015-05-19 11:49:32 IST; 12h ago
     Docs: man:cron(8)
 Main PID: 1053 (cron)
   CGroup: /system.slice/cron.service
           ├─1053 /usr/sbin/cron -f
           └─3020 /usr/bin/atop -a -w /var/log/atop/atop_20150520 600
如果未运行,请将crond服务配置为在引导时自动启动:

$ sudo systemctl enable crond.service
$ sudo systemctl start crond.service
$ sudo systemctl enable cron.service
$ sudo systemctl start cron.service
我尝试了许多答案(包括在本页上),但没有一个代码适用于nginx

我不知道为什么这些代码没有启动nginx服务,即使其中一些代码发现它已成功关闭

我发现唯一有效的就是这个

添加带有代码的bash脚本文件:

(我将代码添加到文件
/opt/nginxstartifdown.sh

将其添加到cron作业中(
sudo crontab-e

参考来源:(不是我的网站,不是我的内容)

共享它,以便在nginx关闭时,它可以帮助寻找开启nginx的人