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之前的文章或者继续浏览以下相关文章。我希望你将来能找到他们。请支持脚本之家!
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。