Linux 任务控制
Linux/Unix 提供了不同与 windows 的多任务处理,也提供一套用来切换前后台任务的命令
bg fg & Ctrl+z nohup sitsid
- Ctrl-Z 挂起程序
user@ae01:~$ ./test.sh
^Z
[]+ Stopped ./test.sh
user@ae01:~$当作业在运行期间,执行 Ctrl-Z 暂挂起该作业并返回该作业的 JobID 等信息,类似于使用 jobs 命令返回的信息
- bg 后台执行
user@ae01:~$ jobs
[]+ Stopped ./test.sh、
user@ae01:~$ bg
[1]+ ./test.sh &
user@ae01:~$bg 将暂挂的作业作为后台作业运行来在当前环境中重新执行这些作业,如果指定的作业已经在后台运行,bg 命令不起作用并成功退出。如果未提供 JobID 参数,bg 命令会使用最近暂挂的作业
- fg 前台运行作业
user@ae01:~$ jobs
[]+ Stopped ./test.sh、
user@ae01:~$ fg
./test.sh
user@ae01:~$fg 使用 JobID 参数来指明在前台下要运行的特定作业。如果提供 JobID,fg 命令使用最近在后台被暂挂的作业
- & 把作业放到后台执行
user@ae01:~$ ./test.sh &
[]
user@ae01:~$当在前台运行某个作业时,终端被该作业占据;可以使用&命令把作业放到后台执行,而在后台运行作业时,它不会占据终端。实际上,这样是将命令放入到一个作业队列中了。作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:command >out.file 2>&1 &
- nohup 忽略挂断信号
user@ae01:~$ nohup ./test.sh > test.log >& &
[]
user@ae01:~$ jobs在执行作业时,可以使用小括号() 执行后台作业也能做到类似 nuhup 的效果,使得 当前 Shell 关闭后,作业仍能正常运行。原理同 setsid 和 disown
user@ae01:~$ (./test.sh &) user@ae01:~$ ps -ef | grep test
: ? :: /bin/sh ./test.sh
: pts/ :: grep test使用 & | bg 运行后台命令时,其父进程还是当前终端 shell 的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者使用setsid将父进程设为init进程(进程号为1),也可以使用 disown 命令
- setsid
user@ae01:~$ ps -ef | grep test
: pts/ :: /bin/sh ./test.sh
: pts/ :: grep test
user@ae01:~$ setsid ./test.sh &
[]
user@ae01:~$ ps -ef | grep test
: ? :: /bin/sh ./test.sh
: pts/ :: grep test对于已经执行的前台作业,setsid 可以将当前作业的父进程设置为1,但对于已经是后台运行的命令我们需要使用 disown 命令
- disown
user@ae01:~$ ./test.sh &
[]
user@ae01:~$ jobs -l
[]+ Running ./test.sh &
user@ae01:~$ disown -h %
user@ae01:~$ ps -ef | grep test
: ? :: /bin/sh ./test.sh
: pts/ :: grep test对于已经执行的后台作业,disown 可以将当前作业的父进程设置为1
- setsid
Linux 任务控制的更多相关文章
- linux 终端控制-- 多彩输出 格式排版
linux 终端控制-- 多彩输出 格式排版 在unix/linux的终端下,怎么控制终端输出的颜色和格式呢,当然了有专门的工具,tput,但是能被terminal直接读懂的格式化字符串更通用. 先来 ...
- (转)linux下控制帐户过期的多种方法
linux下控制帐户过期的方法:原文:http://blog.51cto.com/oldboy/1289144企业里一般给无人管理的角色账户或开发人员临时需求等可以设定账户有效期,提升安全!法一:添加 ...
- 资源限制 ( resource limit 或 rlimit ),是 Linux 内核控制 用户 或 进程 资源占用的机制。
###### https://learn-linux.readthedocs.io/zh_CN/latest/administration/kernel/rlimit.html ########### ...
- Linux资源控制-CPU和内存
主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进程能够占用CPU多长时间, 什么时候能够占用CPU是和系统的调度密切相关的. Linux系统中有多 ...
- linux pam 控制模式
工作类别(type).流程栈(stack)和控制模式(control) Linux-PAM 工作的"类别"(type) PAM 的具体工作主要有以下四种类别(type):accou ...
- Linux资源控制-CPU和内存【转】
转自:http://www.cnblogs.com/wang_yb/p/3942208.html 主要介绍Linux下, 如果对进程的CPU和内存资源的使用情况进行控制的方法. CPU资源控制 每个进 ...
- Linux进程控制(三)
1. 进程间打开文件的继承 1.1. 用fork继承打开的文件 fork以后的子进程自动继承了父进程的打开的文件,继承以后,父进程关闭打开的文件不会对子进程造成影响. 示例: #include < ...
- Linux进程控制(二)
1. 进程的创建 Linux下有四类创建子进程的函数:system(),fork(),exec*(),popen() 1.1. system函数 原型: #include <stdlib.h&g ...
- Linux进程控制(一)
1. Linux进程概述 进程是一个程序一次执行的过程,它和程序有本质区别.程序是静态的,它是一些保存在磁盘上的指令的有序集合:而进程是一个动态的概念,它是一个运行着的程序,包含了进程的动态创建.调度 ...
- Linux进程控制——exec函数族
原文:http://www.cnblogs.com/hnrainll/archive/2011/07/23/2114854.html 1.简介 在Linux中,并不存在exec()函数,exec指的是 ...
随机推荐
- Node.js入门笔记(2):全局对象(1)
以下将以API文档为基础进行分析学习 global对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. __filename--返回当前模块文件 ...
- Windows远程数据同步工具cwRsync
1. cwRsync简介cwRsync是Rsync在Windows上的实现版本,Rsync通过使用特定算法的文件传输技术,可以在网络上传输只修改了的文件.cwRsync主要用于Windows上的远程文 ...
- 原生JS常用代码汇总
数组相关 var codes = new Array( ); //创建数组codes.length //数组长度 动态插入数组 codes.push(value);
- 莫比乌斯环-vtkTriangleStrip
#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...
- JavaScript 快速排序(Quicksort)
"快速排序"的思想很简单,整个排序过程只需要三步: (1)在数据集之中,选择一个元素作为"基准"(pivot). (2)所有小于"基准"的元 ...
- tyvj1189 盖房子
描述 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的.但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵).这些瑕 ...
- AJAX 请求区分 $_SERVER['HTTP_X_REQUESTED_WITH'] 小解
关于这个内容,很多人都有所了解.但从我搜索的内容来看,他们只是略微看一下,根本不知道里面到底是什么情况. 受到很多模版代码的影响,大家都以为PHP有这样一个自定义变量:$_SERVER['HTTP_X ...
- https://zeroc.com/index.html
https://zeroc.com/index.html http://blog.shutupandcode.net/?p=1085
- liunx学习(一):linux下目录操作大全
Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...
- DOM对象
DOM是以层次结构组织的节点或信息片断的集合.文档对象模型(Document Object Model)是给HTML与XML文件使用的一组API.DOM的本质是建立网页与脚本语言或程序语言沟通的桥梁. ...