linux中的&,disown和nohup的区别

/ 0评 / 0

[raspbian & ubuntu 20.04 root用户]
1.&会把job放入后台进程,输入输出仍然是当前terminal,terminal不会等待它的完成,terminal被关闭,所属的进程会作为init的子进程继续执行
2.disown输入输出仍然是当前terminal,会把进程从shell的jobs列表中移除,terminal被关闭,所属的进程会作为init的子进程继续执行
3.nohup重定向stdout,stderr到文件nohup.out并且不会接收SIGHUP,和jobs列表没关系,terminal被关闭,所属的进程会作为init的子进程继续执行

[raspbian & ubuntu 20.04 非root用户]
1.&会把job放入后台进程,输入输出仍然是当前terminal,terminal不会等待它的完成,terminal被关闭,所属的进程会被init关闭
2.disown输入输出仍然是当前terminal,会把进程从shell的jobs列表中移除,terminal被关闭,所属的进程会作为init的子进程继续执行
3.nohup重定向stdout,stderr到文件nohup.out并且不会接收SIGHUP,和jobs列表没关系,terminal被关闭,所属的进程会作为init的子进程继续执行