作业控制

本文通过实战演示了Linux系统中top、fg、bg等命令的具体用法,包括如何查看系统任务状态、将任务调至前台运行及后台继续运行的方法,并介绍了nohup命令的应用场景。

1、jobs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[root@server01 ~]# top
top - 06:39:07 up  8:24,  3 users,  load average: 0.01, 0.04, 0.05
Tasks:  87 total,   1 running,  84 sleeping,   2 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 99.0 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008392 total,   157936 free,   132356 used,   718100 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   660208 avail Mem
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
30125 root      20   0  157572   2076   1504 R  6.2  0.2   0:00.01 top
    1 root      20   0   45528   5812   3672 S  0.0  0.6   0:02.34 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:04.36 ksoftirqd/0
    4 root      20   0       0      0      0 D  0.0  0.0   0:38.92 kworker/0:0
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S  0.0  0.0   0:01.27 rcu_sched
   10 root      rt   0       0      0      0 S  0.0  0.0   0:02.68 watchdog/0
   12 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.01 khungtaskd
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset
   19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd
[1]+  已停止               top                ## ctrl+z 暂停一个任务
[root@server01 ~]# cat /etc/passwd | wc -l &  ##管道符表示后面的命令作用于前面命令的结果
[2] 30138                                     ##“&”表示放在后台运行
[root@server01 ~]# 21
jobs                                          ## jobs命令用于查看后台的任务
[1]+  已停止               top
[2]-  完成                  cat /etc/passwd wc -l


2、fg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@server01 ~]# jobs
[1]-  已停止               top
[2]+  已停止               man fdisk
[root@server01 ~]# fg 1                       ##将任务调度到前台运行
top - 06:58:25 up  8:43,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 102 total,   3 running,  82 sleeping,  17 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1008392 total,   153464 free,   136164 used,   718764 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   656136 avail Mem
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
    4 root      20   0       0      0      0 R  0.2  0.0   0:40.85 kworker/0:0
30083 root      20   0  143020   5556   4252 S  0.1  0.6   0:00.93 sshd
    9 root      20   0       0      0      0 S  0.0  0.0   0:01.34 rcu_sched
  287 root      20   0       0      0      0 S  0.0  0.0   0:08.18 xfsaild/sda3
  502 root      20   0  327432  26912   6556 S  0.0  2.7   0:04.39 firewalld
30087 root      20   0  115508   2168   1764 R  0.0  0.2   0:00.21 bash
    1 root      20   0   45528   5812   3672 S  0.0  0.6   0:02.35 systemd
   10 root      rt   0       0      0      0 S  0.0  0.0   0:02.71 watchdog/0
  801 root      20   0  553152  18520   5816 S  0.0  1.8   0:07.17 tuned
20876 root      20   0       0      0      0 S  0.0  0.0   0:00.41 kworker/u12+
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:04.39 ksoftirqd/0
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
   12 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns
   ## ctrl+c  结束一个任务
[root@server01 ~]# jobs
[2]+  已停止               man fdisk


3、bg

1
2
3
4
5
6
7
8
9
10
11
12
[root@server01 ~]# jobs
[2]-  已停止               man fdisk
[3]+  已停止               ping -c 100 114.114.114.114
[root@server01 ~]# bg 3                       ##放在后台继续运行
[3]+ ping -c 100 114.114.114.114 &
[root@server01 ~]# 64 bytes from 114.114.114.114: icmp_seq=84 ttl=58 time=7.58 ms
64 bytes from 114.114.114.114: icmp_seq=85 ttl=58 time=10.2 ms
64 bytes from 114.114.114.114: icmp_seq=86 ttl=58 time=5.25 ms
job64 bytes from 114.114.114.114: icmp_seq=87 ttl=58 time=11.5 ms
s
[2]+  已停止               man fdisk
[3]-  运行中               ping -c 100 114.114.114.114 &

如果正在运行一个进程,而且希望在退出帐户时该进程还不会结束,那么可以使用nohup命令(nohup command &)。该命令可以在用户退出帐户之后继续运行相应的进程。







本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1943301,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值