0
点赞
收藏
分享

微信扫一扫

【shell】nohup 与 &


nohup与&其实都可以让一个任务在后台运行,区别在于nohup方式可以让子任务忽略sighup信号,也就是父进程退出后不会终止子进程。

具体区别可以看这篇:​​https://www.jianshu.com/p/747e0d5021a2​​

用法二者大同小异,取决于是否加nohup。

 

nohup cmd [args] &

 

t.sh:

#!/usr/bin/env bash

echo $1

i=1;
for((i=1;i<=1000;i++));
do
echo $i
sleep 1
done

运行:

20:26 yaoli@liyao03-Mac /Users/yaoli/Project/shell
% nohup ./t.sh ly &
[1] 19351
20:28 yaoli@liyao03-Mac /Users/yaoli/Project/shell
% appending output to nohup.out

 

grep:

20:28 yaoli@liyao03-Mac /Users/yaoli/Project/shell
% ps -ef | grep t.sh
  501 19351 19169   0  8:28下午 ttys001    0:00.08 bash ./t.sh ly

 

说明已经运行。

 

nohup.out:

ly
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

没粘完

举报

相关推荐

0 条评论