热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux进程后台跑,Linux进程后台运行方法

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。1、nohupnoh

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。

1、nohup

nohup的用途就是让提交的命令忽略hangup信号。

举例:

nohup ./startup.sh &

后台运行tomcat

2、setsid

setsid的作用是让运行的进程不属于接受HUP信号的终端的子进程。

举例:

比如bash登录上来ppid是10627

UID PID PPID C STIME TTY TIME CMD

root 521 1 0 May21 ? 00:00:01 /usr/sbin/sshd

root 10625 521 0 00:56 ? 00:00:00 sshd: root@pts/0

root 10627 10625 0 00:56 pts/0 00:00:00 -bash

这时ping一个网址

ping www.google.com

在另一个窗口查看

ps -ef | grep ping

UID PID PPID C STIME TTY TIME CMD

root 10664 10627 0 00:57 pts/0 00:00:00 ping www.google.com

用setsid后PPID变为1(init进程ID),不会接受HUP信号

setsid ping www.google.com

ps -ef | grep ping

UID PID PPID C STIME TTY TIME CMD

root 10668 1 0 00:58 ? 00:00:00 ping www.google.com

3、screen

screen可以在后台创建会话,从而让进程在后台运行。

screen常用命令:

screen:开一个窗口

screen -r:恢复进入窗口

screen -r -D:强行进入窗口

在screen窗口内:Ctrl + A D 窗口后台运行

screen -ls:查看全部session列表

screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。

screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接



推荐阅读
author-avatar
利盈香玟倩文怡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有