shell作业控制

本文介绍了如何使用Bash进行作业控制,包括在后台或前台运行程序的方法。文章详细解释了如何利用各种命令来管理进程,如暂停、恢复、终止及查看作业状态等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业控制
 
    Bash可以选择在后台或前台运行作业。一个正在运行的程序称为进程或者作业,每个进程有一个进程号,PID。一般情况下运行的程序都是在前台运行的,可 以通过Ctrl+D组合键来发送信号暂停它。暂停的进程可以在后台运行也可以把它送回前台运行,当然也可以终止它。
 

[root@localhost ~]# vi            #打开vi编辑器,并按Ctrl+z暂停它

[1]+  Stopped                 vi
[root@localhost ~]# sleep 400&    #加&,表示在后台运行
[2] 5277
[root@localhost ~]# jobs          #显示当前在后台的作业
[1]+  Stopped                 vi
[2]-  Running                 sleep 400 &
[root@localhost ~]# jobs -l      #显示当前在后台的作业和PID
[1]+  5276 Stopped                    vi
[2]-  5277 Running                 sleep 400 &
[root@localhost ~]# jobs %%      #显示最近加入作业表中的命令
[1]+  Stopped                 vi
[root@localhost ~]# fg %1        #fg把作业号为1的作业调到前台来
[root@localhost ~]# kill %1      #把作业号为1的作业杀死
Vim: Caught deadly signal TERM
Vim: Finished.

 

作业控制命令

命令 含义 
bg 启动被终止的后台作业 
fg将后台作业调到前台来 
jobs 列出所有正在运行的作业 
kill向指定作业发送kill信号 
stop挂起一个后台作业 
stty tostop 当一个后台作业向终端发送输出时就挂起它 
wait[n] 等待一个指定的作业并返回它的退出状态,这里n是一个PID或作业号 
∧Z(Ctrl-Z)终止(挂起)作业。屏幕上将出现提示符 
  
jobs命令的参数 含义 
%n 作业号n 
%string 以string开头的作业名 
%?string 作业名包含string
%% 当前作业 
%+ 当前作业 
%- 当前作业前的一个作业 
-r 列出所有运行的作业 
-s列出所有挂起的作业

转载于:https://www.cnblogs.com/wangtianxj/archive/2009/06/26/1511582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值