后台nohup和&的使用

Linux中ctrl+z 、ctrl+c、 ctrl+d区别

Ctrl + C 和Ctrl + Z都是中断命令,但是他们的作用却不一样.

Ctrl + C 是强制中断程序的执行,进程已经终止。 Ctrl + C 发送 SIGINT信号 参考:linux信号

Ctrl + Z 是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中,他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务

fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行

参考:bash工作管理

例如:当你vi一个文件时,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘退出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件。

使用&后台运行程序:

结果会输出到终端

使用Ctrl + C发送SIGINT信号,程序免疫

关闭session发送SIGHUP信号,程序关闭

使用nohup运行程序:

结果默认会输出到nohup.out

使用Ctrl + C发送SIGINT信号,程序关闭

关闭session发送SIGHUP信号,程序免疫

日后使用

平日线上经常使用nohup和&配合来启动程序或者使用screen(yum install screen)

[root@localhost ~]# nohup ping www.baidu.com > test.log &

同时免疫SIGINT和SIGHUP信号

posted @ 2021-12-09 22:52  咚咚小孩  阅读(118)  评论(0)    收藏  举报