zoukankan      html  css  js  c++  java
  • 【Linux】工作管理

    • 在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此间是有相关性的。我们无法以job control的方式由tty1的环境去管理tty2的bash
    • 当只有一个终端时,可以出现提示符让你操作的环境就称为前台(foreground),至于其他工作就可以让你放入后台(background)去暂停或运行。要注意的是,放入后台的工作想要运行时,它必须不能够与用户互动。举例来说,vim绝对不可以在后台里面执行(running)。因为你没有输入数据它就不会跑。而且放入后台的工作是不可以使用[ctrl]+c来终止的。总之,要进行bash的job control 必须要注意到的限制是:
    • 这些工作所触发的进程必须来自于你shell的子进程(只管理自己的bash);
    • 前台:你可以控制与执行命令的这个环境称为前台(foreground)的工作;
    • 后台:可以自己运行的工作,你无法使用[ctrl]+c终止它,可使用bg/fg调用该工作;
      后台中『执行』的进程不能等待terminal/shell的输入(input)

    实际运行job控制的命令

    直接将命令丢到后台中『执行』的&
    $tar -rpcf /tmp/etc.tar.gz /etc &
    [1] 8400 <== [job number]/PID
    #在中括号内的号码为工作号码(job number),该号码与bash的控制有关
    #后续的8400则是这个工作在系统中的PID
    
    • 在输入一个命令后,在该命令的最后面加上一个『&』代表将该命令丢到后台中,此时bash会给予这个命令一个"工作号码"(job number),就是那个[1]。至于后面那个8400则是该命令所触发的PID了。
    • 如果输入几个命令后,突然出现如下数据
    [1]+ Done tar -rpcf /tmp/etc.tar.gz /etc
    

    就代表这个[1]工作已经完成了。

    将目前工作丢到后台中『暂停』:[ctrl]+z
    • 按下[ctrl]+z后,屏幕上会出现如下[1]+ Stopped command[1]表示这是第一个工作。而那个+代表最近一个被丢进后台的工作,且目前在后台默认会被取用的那个工作(与fg这个命令有关)。而那个Stopped则代表目前这个工作的状态。在默认状态下,使用[ctrl]+z丢到后台中的工作都是「暂停」的。
    查看目前的后台工作状态:jobs
    $jobs [-lrs]
    参数:
    -l:除了列出job number与命令串之外,同时列出PID的好吗
    -r:仅列出正在后台run的工作
    -s:仅列出正在后台当中暂停(stop)的工作
    
    查看目前的bash当中,所有的工作,与对应的PID
    
    
    • 用jobs这个命令可以查看后台中的工作,如果想要知道该job number的PID号码,可以加上-l这个参数。在输出的信息当中,有些任务号码后会有+-号码,+号代表最近被放到后台的工作号码,-代表最近最后第二个被放置到后台中的工作号码。而超过最后第三个以后的工作,就不会有+/-符号的存在了。
    将后台工作拿到前台来处理:fg

    fg %jobnumber
    参数:
    %jobnumber:jobnumber为工作号码(数字)。注意,那个%是可有可无的。

    先以jobs查看工作,再将工作取出
    $jobs
    [1]- 10314 Stopped vim ~/.bashrc
    [2]+ 10833 Stopped  find / -print
    $fg <==默认取出那个+的工作,即[2]
    $fg %1 <==直接规定取出的那个工作号码!
    
    让工作在后台的状态变成运行中:bg
    • bg %jobnumber将jobnumer的工作在后台启用
  • 相关阅读:
    腾讯QQ家族任意支付QB+修改资料csrf
    腾讯QQ积分CSRF导致积分任意挥霍(我的积分为什么少了)
    腾讯大湘网某处csrf(city.hn.qq.com)可投诉刷留言
    路由器下再连接一台路由器
    PHP安全之临时文件的安全
    通过NAT转发实现私网对外发布信息
    asp adodb.stream读取文件和写文件
    解决:ADODB.Stream 错误 '800a0bbc' 写入文件失败
    笑话一则
    spring-boot-2.0.3源码篇
  • 原文地址:https://www.cnblogs.com/vincently/p/6719053.html
Copyright © 2011-2022 走看看