Linux进程前后台操作
标签:linux; jobs; fg; bg; ctrl+c; ctrl+z;
描述:
进程前后台操作用到以下命令或按键:
Command | Description |
---|---|
Ctrl+C | 终止并退出前台命令的执行,回到SHELL |
Ctrl+Z | 暂停前台命令的执行,将该进程放入后台,回到SHELL |
jobs | 查看当前在后台执行的命令,可查看命令进程号码 |
& | 运行命令时,在命令末尾加上&可让命令在后台执行 |
fg N | 将命令进程号码为N的命令进程放到前台执行,同%N |
bg N | 将命令进程号码为N的命令进程放到后台执行 |
附录
Ex1:Ctrl C
ping 后直接退出,无进程
root@crackcreed:~# ping google.com
PING google.com (172.217.24.142) 56(84) bytes of data.
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=1 ttl=58 time=0.651 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=2 ttl=58 time=0.750 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=3 ttl=58 time=0.713 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 0.651/0.704/0.750/0.051 ms
root@crackcreed:~# ps -auxww |grep google
root 23946 0.0 0.2 12728 2104 pts/0 S+ 01:41 0:00 grep google
Ex2:Ctrl Z
ping 后切到shell,后台进程显示stopped
root@crackcreed:~# ping google.com
PING google.com (172.217.24.142) 56(84) bytes of data.
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=1 ttl=58 time=0.644 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=2 ttl=58 time=0.741 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=3 ttl=58 time=0.728 ms
^Z
[1]+ Stopped ping google.com
root@crackcreed:~# ps -auxww |grep google
root 23952 0.0 0.1 14772 1900 pts/0 T 01:41 0:00 ping google.com
root 23964 0.0 0.2 12728 2196 pts/0 S+ 01:41 0:00 grep google
root@crackcreed:~# jobs
[1]+ Stopped ping google.com
Ex3: fg
fg 1,将Ex2中job[1]放到前台执行
root@crackcreed:~# fg 1
ping google.com
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=4 ttl=58 time=0.678 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=5 ttl=58 time=0.730 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=6 ttl=58 time=0.763 ms
^Z
[1]+ Stopped ping google.com
root@crackcreed:~# jobs
[1]+ Stopped ping google.com
Ex4: bg
bg 1,将job[1]放到后台执行,相当于 &
root@crackcreed:~# bg 1
[1]+ ping google.com &
root@crackcreed:~# 64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=21 ttl=58 time=0.677 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=22 ttl=58 time=0.701 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=23 ttl=58 time=0.717 ms
64 bytes from nrt20s01-in-f142.1e100.net (172.217.24.142): icmp_seq=24 ttl=58 time=0.716 ms
...
root@crackcreed:~#jobs
[1]+ Running ping google.com &