linux下作业控制
来源:互联网 发布:mac怎么解压缩rar文件 编辑:程序博客网 时间:2024/06/05 03:55
有3个特殊字符可使终端驱动程序产生信号,经常使用:
中断字符:(DELETE或Ctrl+C),产生SIGINT。
退出字符:(Ctrl + \)产生SIGQUIT。
挂起字符:(Ctrl+Z)产生SIGTSTR。
我们在linux下,让一个程序后台启动,要加上一个&。比如
$ cat > test &
上面的程序表示在后台启动,从标准输入流读。键入回车,效果如下:
我们必须明白,只有前台程序可以接受终端输入,后台作业试图读终端,并不是一个错误,但是终端驱动程序会检测出来,然后发送一个特定信号SIGTTIN给后台作业,就会暂停后台作业。我们想要它运行,就必须转到前台来。前台后台转换的命令是:fg,bg。
fg %1表示将1号作业转为前台,bg %4表示将4号作业转为后台。
这样我们就可以将终端的输入进程序了。
我自己编写了一个小程序,以便在前台和后台转换。程序就是不停输出,输出一次sleep2秒。我命名为test。
我首先运行这个test,输出。然后我Ctrl+Z挂起这个作业。挂起就是转到了后台,并暂停了程序。然后输入fg %1,将这个作业放到前台运行。发现继续输出。我再一次挂起这个作业,然后输入bg (默认是%1)。转入后台继续工作,继续输出。
在后台我想挂起就不行了。只能将其再转入前台进行工作。这样就在前台和后台之间一直轮换着运行着。
如果要禁止后台作业输出到控制终端,可以用stty tostop。
前台可以继续输出,但是一旦挂起之后,输入bg继续后台的程序运行,发现没有了输出。这就是之前设置起了作用。
一些常用命令:
jobs
查看正在运行的任务。
fg
将后台命令调至前台继续运行。
bg
将一个后台暂停的命令,继续执行。
&
用在一个命令之后,表示后台运行。
以上是在看《UNIX高级编程》的时候的一些测试。然后网上看了相关的资料集合而成。做一个记录。
ps:
强制杀死一个进程,kill -9 pid;
- linux下作业控制
- linux下作业控制
- linux下的作业控制
- Linux下的终端和作业控制
- linux的作业控制
- linux作业控制命令
- Linux作业控制
- Linux作业控制
- Linux作业控制
- Linux系统下的作业控制(Job Control)
- linux:作业控制&作业规划进程crond
- Linux Shell 作业控制命令
- Linux 技巧: 控制预定作业的持续时间
- Linux进程管理及作业控制
- linux的作业控制(job control)
- Linux的进程管理和作业控制
- UNIX/linux进程和作业控制
- linux的作业控制(job control)
- vim高亮多余的空白字符及 Tab
- 百度员工离职总结:如何做个好员工
- mongoDB 入门指南、示例
- Android自定义控件——有弹性的ListView,ScrollView
- 用Maven打包成EAR远程部署JBoss(一)——打包及手动部署到本地
- linux下作业控制
- Eight+POJ+八数码问题+bfs+dbfs+字符串哈希+全排列哈希
- TCP连接的状态详解以及故障排查
- 青少年爱眼护眼小常识
- Windows Defender 离线版
- HDU 4970 Killing Monsters(扫描线)
- 【基础学习】Perl中面向对象的思维
- mongoDB 介绍(特点、优点、原理)
- Neutron印象4:neutron-openvswitch-agent