1. [
    root@btg linux-2.6]# vim 

  2. [1]+ Stopped vim
  3. [root@btg linux-2.6]# vim fs/ext2/super.

  4. [2]+ Stopped vim fs/ext2/super.c
  5. [root@btg linux-2.6]# vim fs/ext2/inode.

  6. [3]+ Stopped vim fs/ext2/inode.c
  7. [root@btg linux-2.6]# 
  8. [root@btg linux-2.6]# jobs
  9. [1] Stopped vim
  10. [2]- Stopped vim fs/ext2/super.c
  11. [3]+ Stopped vim fs/ext2/inode.c
  12. [root@btg linux-2.6]#
上面是建立了三个任务,并且都ctrl+z给stop掉了,然后用jobs查看,一共有三个stop的任务
这个时候可以用ps来看一下状态
  1. root 14434 0.0 0.0 6920 1516 pts/3 S+ May25 0:00 bash
  2. root 17459 0.0 0.1 14424 3696 pts/1 T 14:02 0:00 vim fs/ext2/super.c
  3. root 17460 0.0 0.0 3932 1776 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out
  4. root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c
  5. root 17472 0.0 0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out
  6. root 19174 3.0 0.0 6416 1016 pts/1 R+ 14:12 0:00 ps -ux
可以看到状态都是T
如果想恢复其中一个任务,可以使用bg或者fg来进行恢复,fg是恢复到前台来运行,bg是恢复到后台运行
  1. [root@btg linux-2.6]# jobs
  2. [2]- Stopped vim fs/ext2/super.c
  3. [3]+ Stopped vim fs/ext2/inode.c
  4. [root@btg linux-2.6]# fg 2
其实发送状态命令的还可以使用kill
  1. [root@btg linux-2.6]# kill -l
  2.  1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
  3.  6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
  4. 11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
  5. 16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
  6. 21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
  7. 26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
  8. 31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
  9. 38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
  10. 43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
  11. 48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
  12. 53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
  13. 58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
  14. 63) SIGRTMAX-1    64) SIGRTMAX    
  15. [root@btg linux-2.6]#
可以找一个进程来试试
  1. root 17459 0.0 0.1 14424 3696 pts/S+ 14:02 0:00 vim fs/ext2/super.c
  2. root 17460 0.0 0.0 3932 1776 pts/S+ 14:02 0:00 /usr/bin/cscope -dl -f cscope.out
  3. root 17471 0.0 0.1 14424 3404 pts/1 T 14:02 0:00 vim fs/ext2/inode.c
  4. root 17472 0.0 0.0 3932 1808 pts/1 T 14:02 0:00 /usr/bin/cscope -dl -f cscope.out
使用如下命令
  1. [root@btg P5906]# kill -19 17459
  2. [root@btg P5906]#
然后看另一个终端里面的输出,如下
  1. [2]+ Stopped vim fs/ext2/super.c
  2. [root@btg linux-2.6]# ot) {
  3. 1093 iput(root);
这个时候可以直接输入命令,clear,就清了一下屏幕

然后jobs查看一下,又恢复了之前的都是stop的状态了
  1. [root@btg linux-2.6]# jobs
  2. [2]+ Stopped vim fs/ext2/super.c
  3. [3]- Stopped vim fs/ext2/inode.c
  4. [root@btg linux-2.6]#
到这里,jobs fg bg ctrl+z  kill基本上介绍完了






10-01 00:22
查看更多