linux作业管理

作业管理

kill

kill命令:
    向进程发送控制信号,以实现对进程管理
    显示当前系统可用信号:kill -l
    常用信号:man 7 signal
        1) SIGHUP: 无须关闭进程而让其重读配置文件
        2) SIGINT: 中止正在运行的进程;相当于Ctrl+c
        9) SIGKILL: 杀死正在运行的进程
        15) SIGTERM:终止正在运行的进程
        18) SIGCONT:  相当于使用 bg PID 将其激活。
        19) SIGSTOP: ctrl+z
    指定信号的方法:
        (1) 信号的数字标识;1, 2, 9
        (2) 信号完整名称;SIGHUP
        (3) 信号的简写名称;HUP

kill
按PID:kill [-SIGNAL] pid…
对指定进程操作发送信号

killall
按名称:killall[-SIGNAL] comm…
对一类进程进行操作发送信号
killall -9 ping 杀死所有的ping进程

pkill
按模式:pkill[options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正发起运行命令者
-t terminal: 与指定终端相关的进程
-l: 显示进程名
-a: 显示完整格式的进程名
-P pid: 显示父进程为此处指定的进程的进程列表

    可以针对进程的属性关闭一类程序

信号也是可以捕捉的,但是15号信号是不能捕捉的。脚本编程可以使用

kill名称是杀死,实际上是用户通过它像指定进程发送信号(进程间通信的一种方式)。
只是发送信号


Linux的作业控制
前台作业:通过终端启动,且启动后一直占据终端;
后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)
如何让作业运行于后台?
(1) 运行中的作业:Ctrl+z
(2) 尚未启动的作业:# COMMAND &

例:
使用ping命令,ping一个地址,屏幕就会被ping命令占用,不能做任何事。
是用ctrl+z键可以将ping命令送到后台执行,使用该方式送到后台后,ping会停止运行处于stopped状态,使用kill名 kill -18 PID(ping) 可以将ping唤醒 。但是ping的命令输出结果还是会输出到标准输出上。
屏幕上会有ping的结果,但是不影响执行命令,可以输入命令并执行,但是屏幕上输出结果看着比较乱。
使用ctrl+c不能关闭ping了。

[root@yangyouwei ~]# jobs
[1]+  Stopped                 ping 127.0.0.1
[root@yangyouwei ~]# kill -18 38885 
当然也可以使用kill 将其关闭
也可以使用jobs查看其作业号,使用fg JOB_NUM 将其调到前台来。在使用ctrl+c终止

相当于 kill -19 PID
    [root@yangyouwei ~]#ping 127.0.0.1 ##开启一个ping进程
    [root@yangyouwei ~]# pgrep ping  查询ping的PID
    38975
    [root@yangyouwei ~]# kill -19 38975     ##发送19信号使其调入后台处于停止状态。(stopped)
    [3]+  Stopped                 ping 127.0.0.2
    [root@yangyouwei ~]# 

放入后台后又可能是休眠有可能是继续运行。ping使用&放入后台后是可以继续运行,但是例如vim放入后台就是stopped(因为vim是交互式命令)

nohup

此类后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。如果希望送往后台后,剥离与终端的关系:
# nohup COMMAND &  

nohup ping 127.0.0.1 &
送到后台后,关闭终端,ping进程也不会关闭。init进程接管。但是使用jobs看不到了

查看所有作业:

# jobs

作业控制:

# fg [[%]JOB_NUM]:把指定的后台作业调回前台;
    front ground 

# bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行;
    back ground

将后台的进程(stopped状态)激活,使其在后台继续运行。
相当于kill -18 PID

    [root@yangyouwei ~]# jobs
    [1]+  Stopped                 ping 127.0.0.1
    [root@yangyouwei ~]# bg 1
    [root@yangyouwei ~]# jobs
    [1]+  running                 ping 127.0.0.1


# kill [%JOB_NUM]:终止指定的作业;

fg、bg、kill使用时。kill要针对jobs操作,必须使用%号, 否者操作的是对应号码的PID 进程
kill %job_NUM

并行运行

vi f4.sh ###通过脚本调用,同时执行123脚本

    F1.sh&
    F2.sh&
    F3.sh&

注:如果将将三个脚本的代码放入一个脚本中,执行顺序是执行完f1段代码再执行f2段代码…

((f1.sh&);(f2.sh&);(f3.sh&)) ##每个命令或脚本开启一个shell后执行。

{ f1.sh& f2.sh& f3.sh& }  ##在当前shell下同时运行三个命令或脚本

进程优先级

进程优先级调整:
    静态优先级:100-139
    进程默认启动时的nice值为0,优先级为12
    只有根用户才能降低nice值(提高优先性)

nice命令:
    nice [OPTION] [COMMAND [ARG]...] 
    使用-n 因为优先级有正数和负数,使用-n更容易看清楚

renice命令:  ##修改已经运行的进程的优先级

    renice [-n] priority pid...
    使用-n 因为优先级有正数和负数,使用-n更容易看清楚

查看:
    ps axo pid,comm,ni

注:普通用户只能把进程的优先级调低。

原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/44964

(0)
yywyyw
上一篇 2016-09-09
下一篇 2016-09-09

相关推荐

  • Linux网络协议命令介绍(3)

      在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。 1、序列号和确认号有什么区别? 2、网络功能 3、网络命令 4、配置文件 1、序列号和确认号有什么区别?   发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序…

    Linux干货 2016-11-29
  • N26第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。        who -i或-u 显示闲置时间, 若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串   &n…

    Linux干货 2017-01-16
  • Homework Week-2 Linux文件管理

    1、Linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理工具:cp, mv, rm         cp命令:copy  源文件  目标文件                单源复制:cp [O…

    Linux干货 2016-08-22
  • Linux运维之进程管理

    一、      进程概念 进程是内核的一个功能,在Linux中,运行一个程序或命令可以出发一个事件而驱动一个PID,在linux系统中,系统只识别二进制程序文件,我们可以通过执行系统上的二进制程序来运行程序,进而产生进程。在linux系统中第一个进程是init程序,它是系统开机第一个加载的程序,用来支撑系统的…

    Linux干货 2016-09-13
  • M22 wireshark使用方法简介

    wireshark是一款著名的开源抓包软件,它可以抓取网卡的数据包,以供网络管理员分析。 一 安装方法 debain系安装方法: sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark 启动wireshark: sudo wires…

    2017-03-20
  • N21沉舟-第八周作业

    1、  请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 #网桥:链接层设备,基于MAC地址过滤。 #集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。 #二层交换机:工作在数据链路层,基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。…

    Linux干货 2016-08-24