shell下,进程的前台与后台运行
来源:互联网 发布:画设计图软件 编辑:程序博客网 时间:2024/05/21 09:23
跟系统任务相关的几个命令:fg、bg、jobs、&、ctrl+z
1. & 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
2. ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
3. jobs
查看当前有多少在后台运行的命令
4. fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
5. bg 将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
1. jobs列举出后台作业信息。([作业号] 运行状态 作业名称)
2. ctrl+z 将任务放到后台去,并暂停;
3. bg <%int> 将后台任务唤醒,在后台运行;
4. fg <%int> 将后任务的程序放到前台;
1. ctrl+z 将任务放到后台去,并暂停.
主进程waitpid(pid,&status,WUNTRACED)时,子进程
退出时,父进程被唤醒
2. 将后台任务唤醒,在后台运行;
kill(pid,SIGCONT);
3. 将后台运行的程序放到前台;
kill(pid,SIGCONT);
waitpid(pid,&status,WUNTRACED);
void fg(char *p)
{
int pid=0;
if(p!=NULL)
{
pid=atol(p);
kill(pid,SIGSTOP);
kill(pid,SIGCONT);
waitpid(pid,NULL,NULL);
pid_jobs[jobs_num--]=0;
}
else
printf("error /n");
return 0;
}
void bg(char *p)
{
int pid=0;
if(p!=NULL)
{
pid=atol(p);
kill(pid,SIGCONT);
pid_jobs[jobs_num--]=0;
}
else
printf("error /n");
return 0;
}
//可见,后台运行与前台运行的区别只在于前台运行等待子进程的退出而阻塞父进程操作。而后台运行时,可以在父进程中输入命令继续其他操作。本质上没有区别,都是给子进程发送SIGCONT信号。
原地址:http://blog.chinaunix.net/u3/94039/showart_1893558.html
- shell下进程的前台与后台运行
- shell下,进程的前台与后台运行
- shell下,进程的前台与后台运行
- shell下,进程的前台与后台运行
- shell下,进程的前台与后台运行
- shell下,进程的前台与后台运行
- linux shell下的后台运行以及与前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下的后台运行及其前台的转换
- Linux Shell下后台运行及其前台的转换
- Shell 进程前台与后台转换方法
- Shell 进程前台与后台转换方法
- 前台进程与后台进程
- 3.LINUX后台进程与前台进程的区别
- http协议头字段分析
- Java中使用BigDecimal进行浮点数精确计算、超大整数、浮点数等计算,没有数位限制
- 交换机 路由器和集线器的区别
- Mindjet MindManager使用说明
- 诊断并解决ORA-04031 错误
- shell下,进程的前台与后台运行
- 在Java中正确解码用Javascript:escape()编码的中文字符
- C#开发中总结的23个经验技巧
- 如何在Oracle中建表格时就指定主键和外键
- 认识字符集(ANSI、Unicode)
- 通过PDT来调试php程序
- 合并列表生成字典
- Java内部类的一点知识
- 关于多态的基本知识