码迷,mamicode.com
首页 > 系统相关 > 详细

Linux的工作管理 job control快速入门

时间:2015-09-17 17:45:38      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:linux job control

轻松学Linux:


   job control就是 让Linux在一个bash中可以执行多个工作,其实就是bash中的多个子进程的工作.

   这时候就有疑问了?  linux不是自带了 7个终端窗口么  在这里面执行多个工作不就可以了么,

是的,可以 ,

      alt1-6 是六个命令行终端, 可以互相切换

      alt+7 图形界面终端 ,(ctrl+alt+f1切回到 linux命令行终端)


问题来了: 在一些对安全比较严谨的公司,都会限制用户的登录连接数(/etc/security/limits.conf)中设置, 用户只能连接一个连接数,此时job control就有效了,!


   job control 分为  前台 foregroud  和 后台  background


 例子:

  

 # tar -zpcf /tmp/etc.tar.gz /etc &
[1] 8400  <== [job number] PID  
# tar: Removing leading `/‘ from member names 
# 在中括号内的号码为工作号码 (job number),该号码与 bash 的控制有关。
# 后续的 8400 则是这个工作在系统中的 PID。至於后续出现的数据是 tar 运行的数据流,
# 由於我们没有加上数据流重导向,所以会影响画面!不过不会影响前景的操作喔!


 

[root@www ~]# tar -zcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
[1] 8429
[root@www ~]#

 

呵呵!如此一来,输出的资讯都给他传送到 /tmp/log.txt 当中,当然就不会影响到我们前景的作业了。 这样说,您应该可以更清楚数据流重导向的重要性了吧!^_^ 
[root@www ~]# jobs [-lrs]选项与参数:
-l  :除了列出 job number 与命令串之外,同时列出 PID 的号码;
-r  :仅列出正在背景 run 的工作;
-s  :仅列出正在背景当中暂停 (stop) 的工作。范例一:观察目前的 bash 当中,所有的工作,与对应的 PID[root@www ~]# jobs -l[1]- 10314 Stopped                 vim ~/.bashrc
[2]+ 10833 Stopped                 find / -print
调用后台的工作 fg   fg+number即可


 

   jobs 查看当前有多少工作

   fg %number  将后台工作提到前台

   vi log.txt

   ctrl+z后  会放到后台,但是状态是stop的

  bg  %number   让后台停止的工作在后台变为running状态


  管理后台的工作 kill  -singal

   singal:

    1  重新读取一次配置文件

    2  相当于ctrl+c

   9    强制终止   比如vi log.txt   强制终止后会产生一个.swp文件

   15  正常终止 


kill后面可以跟pid  也可以跟工作管理  默认是pid 所以我们要管理job control的时候 最好

是  kill -?  %number



  &后台执行后 但是你退出终端 后台执行的脚本也会停止

 例子:

   vim  sleep.sh

#!/bin/bash

/bin/sleep 500s

/bin/echo "I have sleept 500s"


#chmod +x sleep.sh


nohup命令可以让后台中的工作 在终端退出重新登录后还在运行


nohup  ./sleep.sh  > /test/log.txt  2>&1  &

# exit


重新登录后 jobs已经不能使用

ps -ef |grep sleep  查看相关进程还在



ps 用法:


-e 显示所有进程。

-f 全格式。

-h 不显示标题。

-l 长格式。

-w 宽输出。

a 显示终端上的所有进程,包括其他用户的进程。

r 只显示正在运行的进程。


 u  以用户为主的格式来显示程序状况。


x 显示所有程序,不以终端机来区分。


常用的

  ps  -l

  ps -ef

  ps -aux



























本文出自 “kobebryant” 博客,谢绝转载!

Linux的工作管理 job control快速入门

标签:linux job control

原文地址:http://beautifual.blog.51cto.com/3678509/1695703

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!