Linux后台运行程序的办法

您所在的位置:网站首页 如何在linux下运行程序 Linux后台运行程序的办法

Linux后台运行程序的办法

#Linux后台运行程序的办法| 来源: 网络整理| 查看: 265

Linux后台运行程序的办法 一点PHP博客分享关于如何让linux中的shell指令能在后台运行,我们在开发一个项目的时候,常常会需要后台去不停的跑一些程序代码用来支持我们的服务应用。但是在执行的时候会占用前台终端,导致我们不能做其他的操作,这时候就需要用到后台去开启一个守护进程的方式,本文以python中的爬虫例子举例。

首先先介绍一下linux中nohup指令:

nohup它的作用如其字面意思,使进程不受 SIGHUP 信号的影响。但我们在使用 nohup php test.php 后会发现,进程还会一直占用前台终端,但即使终端被关闭或连接断开了,程序还是会执行,另外我们会发现在当前文件夹下多了个名为 nohup.out 的文件。

这是因为 nohup 的功能仅仅是让进程不受 SIGHUP 信号的影响,并不会让出前台终端,而且它还会在命令执行目录下建立 nohup.out用以存储进程的输出。如果进程不需要输出,且不想让 nohup 创建文件,可以将标准输出和标准错误输出重定向。

我们常将 nohup 和 & 搭配到一块使用,执行命令如下 nohup command >/dev/null 2>&1 & 这样,就可以放心的等待进程运行结果了。

案例介绍:

假设我们做的是一个实时性的爬虫数据采集更新,那么程序是每一秒都在运行,所以这时候就要使用后台守护进程的方式去执行,具体命令如下:

1 nohup python collection.py >>/logs/log_collectionjob.txt 2>&1 &

一点PHP,每天一点技术分享。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3