zoukankan      html  css  js  c++  java
  • 进程作业管理2-kill,前后台作业,并行执行

    kill命令:向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开 头(可省略),不区分大小写

      显示当前系统可用信号: kill –l   或者  trap -l 

      常用信号:man 7 signal 

    • 1) SIGHUP 无须关闭进程而让其重读配置文件 
    • 2) SIGINT 中止正在运行的进程;相当于Ctrl+c 
    • 3) SIGQUIT 相当于ctrl+ 
    • 9) SIGKILL 强制杀死正在运行的进程 
    • 15) SIGTERM 终止正在运行的进程 
    • 18) SIGCONT 继续运行 
    • 19) SIGSTOP 后台休眠

      指定信号的方法 : 

    • (1) 信号的数字标识:1, 2, 9       
    • (2) 信号完整名称:SIGHUP       
    • (3) 信号的简写名称:HUP 

      killall  cmd   //杀掉cmd全部进程

      按模式:pkill [options] pattern

    • -SIGNAL 
    • -u uid: effective user,生效者 
    • -U uid: real user,真正发起运行命令者 
    • -t terminal: 与指定终端相关的进程 
    • -l: 显示进程名(pgrep可用) 
    • -a: 显示完整格式的进程名(pgrep可用) 
    • -P pid: 显示指定进程的子进程 

    0 信号用来检查一个进程是否正常,通过$?变量判断不正常 则启动

    Linux的作业控制 

    • 前台作业:通过终端启动,且启动后一直占据终端 
    • 后台作业:可通过终端启动,但启动后即转入后台运行(释放终端),他在后台运行,你不受影响,变相的同时运行多个任务

    让作业运行于后台 

    • (1) 运行中的作业: Ctrl+z 
    • (2) 尚未启动的作业:    COMMAND & 

    下图为 各种作业模式的切换方式

    查看当前终端所有作业:jobs

    作业控制:  fg [[%]JOB_NUM]:把指定的后台作业调回前台 

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

    kill [%JOB_NUM]: 终止指定的作业   相当于19信号?回来证实一下

    并行执行

    有些场景下需要运行多个进程,提高效率,比如ping,一般执行,会等包,那我想ping多个包难道也要?效率会很慢,

    比如 我ping三个主机三个包,顺序执行我需要9秒,而并行执行只需要三秒

     同时运行多个进程,提高效率

    方法1     

    vi all.sh   

    f1.sh&   

    f2.sh&   

    f3.sh&

    方法2     (f1.sh&);(f2.sh&);(f3.sh&)

    方法3     { f1.sh& f2.sh& f3.sh& } 

    要有多努力才能对得起奔波的脚步和身上的期望
  • 相关阅读:
    数据结构
    ADC
    SPI
    定时器原理
    IO中断
    恩智浦样片申请
    UART
    随机生成数字验证码
    判断网络是否连接Internet
    清理SQL数据库日志
  • 原文地址:https://www.cnblogs.com/hxfcodelife/p/11976338.html
Copyright © 2011-2022 走看看