工作管理 (job control)
这个工作管理 (job control) 是用在 bash 环境下的,也就是说:『当我们登入系统取得创建的 bash shell 进程之后,在该bush下同时进行多个工作的行为管理 』。 而所有创建的工作都是目前 bash 的子进程。
要进行 bash 的 job control 必须要注意到的限制是:
- 这些工作所触发的进程必须是你 shell 的子进程(只管理自己的 bash);
- 前台:在bash前台运行的工作 (foreground);
- 后台:在后台自行运作的工作,可使用 bg/fg 呼出该工作;
- 后台中『执行』的进程无法和用户交互
常用命令
直接将指令丢到后台中『执行』的 &
将『目前』的工作丢到后台中『暂停』: [ctrl]-z
观察目前的后台工作状态: jobs -l
将后台工作拿到前景来处理: fg %jobnumber
让工作在后台下的状态变成运作中: bg %jobnumber
关闭后台中的工作: kill -9 %jobnumber
脱机管理问题
如果你是以远程联机方式连接到你的 Linux 主机,并且将工作以 & 的方式放到后台去,在工作尚未结束的情况下你脱机了,该工作会被中断掉。
可以尝试使用 nohup 这个指令来处理喔!这个 nohup 可以让你在脱机或注销系统后,还能够让工作继续进行(nohup 并不支持 bash 内建的指令 )。语法:
[root@study ~]# nohup [指令与参数] &
例:
# . 先编辑一支会『睡着 秒』的程序:
[root@study ~]# vim sleep500.sh
#!/bin/bash
/bin/sleep 500s
/bin/echo "I have slept 500 seconds."
# . 丢到后台中去执行,并且立刻注销系统:
[root@study ~]# chmod a+x sleep500.sh
[root@study ~]# nohup ./sleep500.sh &
[]
[root@study ~]# nohup: ignoring input and appending output to `nohup.out' #会告知这个讯息!
[root@study ~]# exit
如果你再次登入的话,再使用 pstree 去查阅你的进程,会发现 sleep500.sh 还在执行中!并不会被中断掉! nohup后的指令不会绑定到终端机, 脚本的输出会被导向『~/nohup.out 』
工作管理 (job control)的更多相关文章
- 第十七章、程序管理与 SELinux 初探 工作管理 (job control)
工作管理 (job control) 这个工作管理 (job control) 是用在 bash 环境下的,也就是说:『当我们登陆系统取得 bash shell 之后,在单一终端机介面下同时进行多个工 ...
- Linux学习-工作管理 (job control)
什么是工作管理? 进行工作管理的行为中, 其实每个工作都是目前 bash 的 子进程,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...
- Linux 工作管理 (job control)
fg , bg 有时,命令需要很长的时间才能执行完成.对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用. 我们可以通过‘&’在后台启动一个程序: fin ...
- Linux中的工作管理(Job Control )
以前使用Linux老是会不小心按下Ctrl + z,然后就出现看不懂的情况,以为程序突然就没了,今天专门研究了下Linux下的几个快捷键和工作管理. 其中找到一篇很不错的文章,大部分是里面转载的. 原 ...
- Linux - 工作管理(job control),jobs,fg,bg,kill
什么是工作管理? 『进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...
- Bash基础——工作管理(Job control)
注:1.这里说的Bash不单纯的指Bash,泛指shell 2.这里的后台指的是Bash下面避免任务(Jobs)被Ctrl+C中断的一种场景,与我们说的deamon那种后台工作的进程不是一个概念,注意 ...
- 【Linux】工作管理
在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此间是有相关性的.我们无法以job control的方式由tty1的环境去管理tty2的bash 当只有一个终端时,可以出现提示符让你 ...
- Linux系列(14)之工作管理
1.工作管理 说明:工作管理(job control)是用在bash环境下的,也就是说:“当我们登录系统取得bash shell之后,在单一终端机接口下同时进行多个工作的行为管理”.举例说明,我们在登 ...
- Linux学习笔记(6)-工作管理
什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登 ...
随机推荐
- 使用emit发出信号
1. 信号声明 在发送信号的模块类头文件中声明信号函数 signals: void sendRate(QString rate); 2. 在发送模块的成员函数中发出信号 emit sendRate(u ...
- Eclipse打不开,闪退
自己编写了个程序,运行巨慢..无语,输出太多,后来冒出一个错误,不知什么原因啊,再后来Eclipse就打不开了,到workbench闪退... 百度后解决方案: 进入目录:workspace/.met ...
- HDU 6201 transaction transaction transaction(拆点最长路)
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- [51nod1482]部落信号 单调栈
~~~题面~~~ 题解: 可以发现这是一道单调栈的题目,首先来考虑数字没有重复时如何统计贡献. 因为这是一个环,而如果我们从最高的点把环断开,并把最高点放在链的最后面(顺时针移动),那么因为在最高点两 ...
- [Leetcode] 3sum 三数和
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- 【HDU 4300 Clairewd’s message】
Clairewd is a member of FBI. After several years concealing in BUPT, she intercepted some important ...
- Angular Cookie 读写
var app = angular.module('Mywind',['ui.router']) app.controller('Myautumn',function($scope,$http,$fi ...
- @Resource注解完成自动装配
@Resource注解是通过名字来自动装配的.在spring中自动装配的模式如果是通过名字来自动装配那么必须保证bean的名字和pojo 的属性名一直. 下面是详细代码:说明了@Resource注解是 ...
- MyBatis+Spring实现基本CRUD操作
一.MyBaits介绍 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的X ...
- 基于多线程的TCP socket通信经典案例
服务器端 package com.thinkvenus.study.socket; import java.io.BufferedReader; import java.io.IOException; ...