我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

nohup 在后台永久运行 php 脚本

更新时间:2024年3月23日11:09:59 提交:yin

在Linux中运行程序时,如果我们退出终端,或者网络连接不好而连接中断,程序就会被挂起,而这种情况绝对不是我们愿意看到的。要使PHP程序在Linux后台执行,可以使用nohup命令。 &符号,nohup命令可以使进程在用户注销后继续运行,&可以将进程放到后台执行

目录

什么是 nohup

nohup 是 Linux 和 Unix 系统中的命令。它的作用是当终端退出时让进程继续在后台运行。它的全称是“”,意思是“不挂断”。 nohup 命令允许您在退出终端或关闭 SSH 连接后继续运行命令。

nohup语法规则

nohup命令的基本语法如下:

nohup [ARGS ...] [> -file 2> 错误文件] &

参数含义如下:

nohup命令的执行过程分为以下步骤:

在工作中,我们经常会运行一个非常重要的程序。有时这个程序需要几个小时甚至几天的时间才能运行。这时,如果我们退出终端,或者网络不好,连接中断,程序就会被终止。这种情况绝对不是我们愿意看到的。我们希望即使终端关闭,程序仍然可以运行。

要让PHP程序在Linux后台执行,可以使用带有&符号的nohup命令。 nohup命令可以使进程在用户注销后继续运行,&可以将进程放到后台执行。

nohup命令是英文短语no的缩写,意思是不挂起,即程序不退出。该命令将使程序忽略HUP信号并确保程序能够正常进行。有些人可能不熟悉HUP信号。它是当终端挂起时发送到与其关联的进程的信号。进程收到此信号后将停止运行。所以如果你不希望进程被这个信号杀死,你可以忽略这个信号。 nohup 命令正是这样做的。

PHP程序在Linux后台执行

命令:nohup php socket.php &

这样,关闭终端就不会断开连接。

项目目录下会生成一个nohup.out文件,记录所有信息和异常情况。

关闭使用:

ps aux | grep php
netstat -anp | grep (端口号)

检查PID,然后使用:kill (PID)

1.使用nohup在后台永久运行php脚本:

nohup php -f /www/wwwroot/default/redis_subscribe.php &

2.检查进程:

ps -ef|grep redis_subscribe.php

3.查看所有进程:

ps -ef

4、查看某个进程:

ps [PID]

5. 终止进程:

kill -9 [PID]

使用nohup命令启动程序的常见方法使用nohup命令

如果你需要运行一个即使在相应的 shell 退出后仍继续运行的程序,你可以使用 nohup 来运行该程序,如下所示:

$ nohup command

当这个程序启动时,该程序对应的日志输出和错误日志都会记录在nohup.out文件中。该文件通常位于主目录或当前目录中。

重定向器输出

如果我不想将程序的输出保存在主目录或当前目录中,但想将其保存在我指定的路径中并自定义文件名,我该怎么办?这时候我们就可以使用重定向操作>。

例如,我现在有一个脚本 .sh,我想将其输出保存在我的主目录下的目录中。文件名为.txt。我可以这样运行它:

$ nohup ./myScript.sh > ~/output/myOutput.txt

使用nohup命令在后台启动程序

如果想让程序在后台运行,可以添加&符号。但这样运行之后,程序就消失得无影无踪了。如果想让程序回到终端,可以使用fg命令。

该命令的输出日志会保存在nohup.out文件中,可以使用cat或者其他命令查看。第二行的数字8699代表这个命令对应的进程号,也就是pid。我们可以使用ps命令来查找这个进程。

使用nohup同时运行多个程序

如果需要同时运行多个程序,无需一一运行,只需使用&&符号即可。例如,如果你想同时运行三个命令:mkdir、ping和ls,你可以这样运行:

$ nohup bash -c 'mkdir files &&ping -c 1 baidu.com && ls'> output.txt

终止在后台运行的进程

上面提到,nohup命令与&符号结合可以使进程在后台运行,即使关闭终端也不会受到影响。这时候,如果你想终止这个进程,该怎么办呢?

最简单的无疑是kill命令,相信你已经用过很多次了。

$ kill -9 PID

那么如何找到进程对应的pid呢?我们可以使用ps命令。

$ ps aux | grep myScript.sh

或者您可以使用 pgrep 命令。

接下来,使用kill命令终止该进程。

$ kill -9 14942

总结

这篇关于在 Linux 后台 nohup 运行 PHP 脚本的文章到此结束。更多关于PHP程序如何在Linux后台执行的信息,请搜索 House之前的文章或者继续浏览以下相关文章。我希望你将来能找到他们。请支持脚本之家!

二维码
扫一扫在手机端查看

    Tags : nohup php
本文链接:https://by928.com/7576.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线