linux php 守护进程,PHP程序员玩转Linux系列 使用supervisor实现守护进程

PHP程序员玩转Linux系列文章:

首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令

如:nodejs index.js & 或者 nohup nodejs index.js &

&这个使用是当退出此次终端会话的时候就会停止, nohup这个命令理论上是可以后台一直执行的,但是当出现某些异常的时候,还是会退出.

进程的基础概念

进程是执行程序的过程.unix系统的老祖宗内核进程的ppid都是是0,比如:init进程的pid是1,ppid是0;其他进程都是从init进程的基础上fork出来的,使用pstree命令可以看到进程树

8b083a12ffe6abe15a1a27e74e0432ac.png

测试使用&实现一个后台进程,并把后台进程再转回到前台,下面是把进程放到后台,[1]这个是job的号

ping baidu.com > xx.txt &

00b7520af9117f7d4444033559127c68.png

把后台进程重新转到前台,%1的那个数字就是上面的job号

fg %1

如何使用nohup这个命令

nohup命令,这个命令是使进程忽略SIGHUP挂起(hangup)信号,测试如下:

nohup ping baidu.com > xx.txt &

进程信号如下:

01 SIGHUP 挂起(hangup)

02 SIGINT 中断,当用户从键盘按^c键或^break键时

03 SIGQUIT 退出,当用户从键盘按quit键时

04 SIGILL 非法指令

05 SIGTRAP 跟踪陷阱(trace trap),启动进程,跟踪代码的执行

06 SIGIOT IOT指令

07 SIGEMT EMT指令

08 SIGFPE 浮点运算溢出

09 SIGKILL 杀死、终止进程

10 SIGBUS 总线错误

11 SIGSEGV 段违例(segmentation  violation),进程试图去访问其虚地址空间以外的位置

12 SIGSYS 系统调用中参数错,如系统调用号非法

13 SIGPIPE 向某个非读管道中写入数据

14 SIGALRM 闹钟。当某进程希望在某时间后接收信号时发此信号

15 SIGTERM 软件终止(software  termination)

16 SIGUSR1 用户自定义信号1

17 SIGUSR2 用户自定义信号2

18 SIGCLD 某个子进程死

19 SIGPWR 电源故障

使用supervisor实现守护进程

守护进程,就是一直运行的收存周期很长的进程.使用supervisor可以实现这样的进程,该进程并且会在被杀掉的时候自动再次重启.

#安装supervisor

yum install supervisor

在配置文件(/etc/supervisord.conf)配置一下:

program:nodejsblog 这里:后面的是个名字,可以随便起

command= 这里是要执行的命令

user= 这里是执行用户

[program:nodejsblog]

command=/usr/bin/nodejs /var/www/html/nblog index.js

user=root

开启supervisord -c /etc/supervisord.conf

此时nodejs的守护进程也会随着启动了可以使用ps命令去查看一下,并且在你kill该进程的时候,会自动重启.

与此相关的博文:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机初级包括php吗,计算机的基本组成包括什么

计算机的基本组成包括控制器、运算器、存储器、输入设备和输出设备。其中,控制器是整个计算机的中枢神经,它的功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据,协调计算机各部分工作及内存与外…

ubuntu11.10 源码编译安装php5.3.8,Ubuntu 11.10编译安装Nginx、PHP 5.3.8、MySQL、MongoDB、Memcached、SSL、SMTP...

手动安装php mongo扩展sudo apt-get install autoconfwget http://pecl.php.net/get/mongo-1.2.6.tgztar -zxvf mongo-1.2.6.tgzcd mongo-1.2.6/usr/local/php/bin/phpize./configure --with-php-config/usr/local/php/bin/php-configmakesudo make installecho extension mon…

java实现图像处理高通滤波,图像处理入门——滤波 - leo_de_macondo的个人页面 - OSCHINA - 中文开源技术交流社区...

模糊图像模糊的方法可以将每个像素的rgb值用周围像素的加权平均值来代替。比如用周围的9个像素来计算加权平均值,权值可以用一个3x3的矩阵来表示:| 1 2 1 || 2 4 2 | * (1/16)| 1 2 1 |中间的像素是要处理的像素,越靠近中间权…

matlab数据接口技术,matlab接口技术与应用

matlab接口技术与应用来源:mamingkeda作者:华仔浏览:1070时间:2016-08-10 14:18标签:摘要:matlab接口技术与应用应用程序接口的使用方法。全书分为10章,第1章是matlab环境和编程语言的概述&…

ssrf 过滤.php,SSRF技巧之如何绕过filter_var( )

0x00 前言前几天我读了两篇非常棒的论文:第一篇是发表在blackhat.com上的“A New Era of SSRF ”,讲述的是不同编程语言的SSRF问题;第二篇是由Positive Technology发表的一篇名为“PHP Wrapper” 的论文,它主要讲述的是如何以多种…

如何用notepad写php,notepad新手怎么使用

新手使用notepad的几个小技巧:一、软件始终置于屏幕最前方有时候我们在运行程序时,需要将notepad放置到屏幕最前方,此时只需要在工具栏中点击:view——always on tops;此时notepad就会一直处于屏幕最前方。注&#xff…

双网卡主机配置oracle监听,VirtualBox设置双网卡实现虚机上网及主宿机互访

VirtualBox 虚拟机之间互连、主宿机互连、以及主宿机连接互联网的功能非常实用。下面介绍实现主宿机通过虚拟网卡互连方式。1 全局配置VirtualBox安装完成后,会在系统中装一块虚拟网卡,我们在 管理> 全局设定中可以看到。这块网卡是在 Host-Only 连接…

linux无filelength函数,Linux Shell 自定义函数(定义、返回值、变量作用域)介绍

定义Shell函数(define function) 语法:[ function ] funname [()]{action;[return int;]}说明:可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。参数返回,可以显示加:return 返回,如果不加&…

linux ssh登录历史,Linux中的SSH登录

在Linux系统中需要使用SSH远程登录到另一个Linux系统,可以使用SSH命令加用户和IP地址的方法。ssh命令用于远程登录上的Linux主机。常用格式:ssh [-l login_name] [ –p port] [userhostname]例如不指定用户:ssh 192.168.0.100指定用户&#x…

linux监控电脑配置,Zabbix基本配置及监控主机

监控主机一版需要在被监控的主机上安装Zabbix Agent监控主机安装zabbix-agent首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:http://www.zabbix.com/download也可以源码安装,类似server的安装&#…

linux内网安装git,一键安装GitLab7在RHEL6.4上

1 关于gitlab7无论如何gitlab是个好东西,但是极难安装和配置。bitnami(https://bitnami.com/)的一键安装包虽然可以解决大问题,但是仍有很多人无法配置gitlabnginx和email发送等等问题。今天特意完整地再梳理一次。对各位读者的问题不再逐一…

linux显示点阵字体,Fedora 17中文字体显示点阵状的解决方法

在Fedora 17中文字体的显示变成点阵状了,为什么在Fedora 16下中文字体是文泉驿正黑。到Fedora 17之后,中文字体由文泉驿正黑(WenQuanYi Zen Hei)变为WenQuanYi Zen Hei Sharp。这个新字体的特殊之处就是在12磅及以下的中文字体,将显示成点阵字…

c语言打印空心矩形图案的程序,C语言之输出空心棱形图案

#include#includevoid main(){int n,j,i; /*i为行数,j为每行中的项数*/printf("输入图案上三角的高度n:");scanf("%d",&n);;i < n;i) /*打印上三角&#xff0c;(包括中间行)*/{;j < n - i;j){-i || j n - - i * i )printf(" *");el…

c语言优化冒泡法,C语言:冒泡法排序一组数,如何优化?

#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){int arr[] { 5, 6, 7, 8, 9 ,1, 2, 3, 4};int i 0;int j 0;int flag;int size sizeof(arr) / sizeof(arr[0]);for (i 0; i < size- 1 ; i){flag 1;//设置标志位&#xff0c;优化冒泡for (j 0; j < s…

android 分享到豆瓣,Android项目总结之社会化分享

随着现在社交网络的日益繁多&#xff0c;众多的社交客户端已占据了人们的大量时间&#xff0c;所以在我们的应用中具有一键分享的功能对提高我们产品的知名度有很大的帮助。新浪微博、腾讯微博、腾讯QQ、微信、QQ空间、豆瓣等众多知名社交站点&#xff0c;都是我们可以分享的去…

android实现自动横竖屏切换,android 中实现横竖屏切换【原创】

我们在使用android手机的时候&#xff0c;发现一些应用有横竖屏切换的功能&#xff0c;一般实现有以下几种方法&#xff1a;一、设置1.通过XML设置横竖屏切换在项目的 AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性&#xff0c;它有以下几个…

超级管理器Android,超级文件管理器app

详情超级文件管理器app&#xff0c;一款帮助你管理手机内存的软件&#xff0c;还可以重命名&#xff0c;移动&#xff0c;删除文件&#xff0c;在Android平台上完美运行&#xff0c;并能够与其他OI系列软件结合使用! 能快速地查找到目标文件&#xff0c;十分方便用户管理自己手…

android miui ios,从iOS到Android——小米11及小米生态实际使用体验

从iOS到Android——小米11及小米生态实际使用体验2021-02-22 15:29:5693点赞155收藏131评论创作立场声明&#xff1a;文中的设备均为自购&#xff0c;无任何特定立场。2021年2月10日&#xff0c;我的iPhoneX手机突然黑屏&#xff0c;拿到Apple Store检测&#xff0c;经诊断是屏…

p50会搭载鸿蒙吗,华为Mate40和华为P50也会搭载鸿蒙,华为Mate30跌至白菜价让路

原标题&#xff1a;华为Mate40和华为P50也会搭载鸿蒙&#xff0c;华为Mate30跌至白菜价让路华为Mate40和华为P50也会搭载鸿蒙&#xff0c;华为Mate30跌至白菜价让路&#xff01;华为P50Pro的机身部分后置摄像头模块的外观有发生了改变&#xff0c;可以看到华为P50Pro并没有将所…

linux将db2账户添加到组_超实用的shell脚本--Linux安全加固设置,值得收藏

概述近几年来Internet变得更加不安全了。网络的通信量日益加大&#xff0c;越来越多的重要交易正在通过网络完成&#xff0c;与此同时数据被损坏、截取和修改的风险也在增加。 只要有值得偷窃的东西就会有想办法窃取它的人。Internet的今天比过去任何时候都更真实地体现出这一点…