linux守护进程优点,linux守护进程与&的区别

1.默认情况下,进程是在前台运行的,这时就把shell占据了(有很多日志打印输出),我们无法进行其他操作。所以对于没有交互的进程,很多时候我们希望将其在后台启动,可以在启动参数的时候加一个&实现这个目的。

2.切换到后台的进程称为job,切换到后台时会输出相关job信息:

miaoying@miaoying-OptiPlex-7040:~$ python3 ~/.local/lib/python3.5/site-packages/pgadmin4/pgAdmin4.py &[1] 12225

例如这个: [1] 12225

[1] 表示job的ID,12225表示进程ID是12225。切换到后台的进程,仍然可以用ps命令查看,或通过jobs命令只查看所有job(后台进程)。

后台进程会随着shell的退出而结束。

3.守护进程已经完全脱离终端控制了,而后台进程并未完全脱离终端,在终端未关闭前还是会往终端输出结果。

4.守护进程在关闭终端控制台时不会受影响,而后台程序会随用户退出而停止,需要在以nohup command &格式运行才能避免影响。

5.守护进程的会话组和当前目录,文件描述符都是独立的,后台运行只是终端进行了一次fork,让程序在后台执行,这些都没改变。

查看守护进程:

ps -axj

-a表示显示由其他用户所拥有的进程的状态

-x显示没有控制终端的进程状态

-j显示与作业有关的信息:会话ID、进程组ID等

6.使普通进程达到守护进程的部分效果:

nohup ./a.out &

7.nohup

用途:不挂断地运行命令,即使终端ssh关闭了也一直运行

语法:nohup command [arg ...] [ & ]

as:

nohup ./start.sh &

无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么command参数指定的命令不可调用。

8.&

用途:在后台运行,当关闭了ssh终端,程序也会关闭

as:

start.sh &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值