Bo's Oracle Station

查看: 1714|回复: 0

课程第11次

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2019-7-28 20:09:56 | 显示全部楼层 |阅读模式
2019-07-28


  1. [root@server3 ~]# ps -o command,state
  2. COMMAND                     S
  3. -bash                       S
  4. ps -o command,state         R
复制代码



qqq.png



  1. [root@server3 ~]# ps -o command,state
  2. COMMAND                     S
  3. -bash                       S
  4. ps -o command,state         R
  5. [root@server3 ~]# sleep 600
  6. ^Z
  7. [1]+  Stopped                 sleep 600
  8. [root@server3 ~]# ps -o command,state
  9. COMMAND                     S
  10. -bash                       S
  11. sleep 600                   T
  12. ps -o command,state         R
  13. [root@server3 ~]#
复制代码
stop和sleep的区别就是,ps能看见的是sleep(sleep是在等待资源的一种运行)而stop看不见:
  1. [root@server3 ~]# ps
  2.    PID TTY          TIME CMD
  3. 18587 pts/0    00:00:00 bash
  4. 18910 pts/0    00:00:00 sleep
  5. 18928 pts/0    00:00:00 ps
  6. [root@server3 ~]#
复制代码
恢复运行,而后台的运行就叫S:
  1. [root@server3 ~]# ps -o command,state
  2. COMMAND                     S
  3. -bash                       S
  4. sleep 600                   T
  5. ps -o command,state         R
  6. [root@server3 ~]# bg
  7. [1]+ sleep 600 &
  8. [root@server3 ~]# ps -o command,state
  9. COMMAND                     S
  10. -bash                       S
  11. sleep 600                   S
  12. ps -o command,state         R
  13. [root@server3 ~]# jobs
  14. [1]+  Running                 sleep 600 &
复制代码

执行作业控制:A命令(sleep 10)和B命令(sleep 13)要高效同时执行,A、B两个命令运行结束时要分别马上通知用户:
1. 低效的程序设计:
  1. #!/bin/sh
  2. sleep 10
  3. echo "finished 10"
  4. sleep 13
  5. echo "finished 13"
复制代码
一共要执行23秒
2. 高效的程序设计,但是A没执行完成就通知用户:
  1. #!/bin/sh
  2. sleep 10 &
  3. echo "finished 10"
  4. sleep 13
  5. echo "finished 13"
复制代码
一共要执行13秒
3. 高效的程序设计,但是A执行完成没有及时通知用户
  1. #!/bin/sh
  2. sleep 10 &
  3. sleep 13 &
复制代码
4. 正确的写法:
  1. #!/bin/sh

  2. (sleep 10 ;  echo "finished 10" )&
  3. sleep 13
  4. echo "finished 13"
复制代码

----------------------------------------------------------------------------------------------


  1. [root@desktop3 ~]# ps
  2.    PID TTY          TIME CMD
  3.   9935 pts/1    00:00:00 bash
  4. 10176 pts/1    00:00:00 ps
  5. [root@desktop3 ~]# sleep 111
  6. ^Z
  7. [1]+  Stopped                 sleep 111
  8. [root@desktop3 ~]# ps j
  9.   PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
  10.   7745   8048   8048   8048 tty1       8048 Ssl+     0   0:03 /usr/bin/X :0 -bac
  11.   9926   9935   9935   9935 pts/1     10185 Ss       0   0:00 -bash
  12.   9935  10183  10183   9935 pts/1     10185 T        0   0:00 sleep 111
  13.   9935  10185  10185   9935 pts/1     10185 R+       0   0:00 ps j
  14. [root@desktop3 ~]# sleep 222 &
  15. [2] 10186
  16. [root@desktop3 ~]# ps j
  17.   PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
  18.   7745   8048   8048   8048 tty1       8048 Ssl+     0   0:03 /usr/bin/X :0 -bac
  19.   9926   9935   9935   9935 pts/1     10187 Ss       0   0:00 -bash
  20.   9935  10183  10183   9935 pts/1     10187 T        0   0:00 sleep 111
  21.   9935  10186  10186   9935 pts/1     10187 S        0   0:00 sleep 222
  22.   9935  10187  10187   9935 pts/1     10187 R+       0   0:00 ps j
  23. [root@desktop3 ~]# bg %1
  24. [1]+ sleep 111 &
  25. [root@desktop3 ~]# ps j
  26.   PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
  27.   7745   8048   8048   8048 tty1       8048 Ssl+     0   0:03 /usr/bin/X :0 -bac
  28.   9926   9935   9935   9935 pts/1     10198 Ss       0   0:00 -bash
  29.   9935  10183  10183   9935 pts/1     10198 S        0   0:00 sleep 111
  30.   9935  10186  10186   9935 pts/1     10198 S        0   0:00 sleep 222
  31.   9935  10198  10198   9935 pts/1     10198 R+       0   0:00 ps j
  32. [root@desktop3 ~]#
复制代码
-----------------------------------------------------------------------

QQ111.png

































回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-5-20 15:43 , Processed in 0.040384 second(s), 27 queries .

快速回复 返回顶部 返回列表