码迷,mamicode.com
首页 > 系统相关 > 详细

.Linux进程的前后台切换

时间:2016-04-09 01:35:07      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

前后台切换的相关命令:
 
1、& 在命令的后面加上这个符合,让进程在后台运行 

    例如:

    #ping 127.0.0.1 &   // 此时ping 127.0.0.1进程是在后台运行的

 

2、ctrl + z  使用这个组合键可以将一个正在前台执行的命令放到后台,并且暂停

    例如:

    #ping 127.0.0.1    

    按住ctrl + z  // 此时ping 127.0.0.1进程被挂起到后台并暂停运行

 

3、jobs 查看当前有多少在后台运行的命令
    选项:-l  显示工作的PID

    例如:

    #ping 127.0.0.1

    按住ctrl + z 

    #jobs -l  

    [1]+ 4403 停止 ping 127.0.0.1  // 1是工作号,"+"号代表最近一个放入后台的工作,也是工作恢复时默认的工作。

                                                     "-"号代表倒数第二个放入后台的工作

4、fg %n 让后台运行的进程n到前台来(n为工作号)
  将后台中的命令调至前台继续运行
  如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
    例如:
    #fg 1 // 将作业号为1的后台进程放到前台运行,"%"可省略

    

5、bg %n 让进程n到后台去
  将一个在后台暂停的命令,变成继续执行
  如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。
    例如:

    # jobs 
    [1]+ Stopped ping 127.0.0.1  // 有一个在后台被暂停的进程

    #bg 1 // 将作业号为1的后台暂停进程放到后台运行,"%"可省略
 
 
 
实例:
 
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:
 
1)我们用vi来写一个C程序(hello.c),这个程序的功能是每隔3秒输出一个数字,然后对它进行编译运行:
 1 #include<stdio.h>
 2 #include<unistd.h>
 3 
 4 int main()
 5 {
 6     int i=0;
 7     while(i<10000)
 8     {
 9         printf("%d\n",i++);
10         sleep(3);
11     }
12     return 0;
13 }

2)编译:

# gcc -o hello hello.c

3)运行:

#./hello

4)按住ctrl + z 把它放到后台并暂停

5)查看后台进程

# jobs
[1]+ Stopped ./hello

6)让它在后台继续运行

# bg 1 

#jobs

[1]+ Running ./hello &        // 状态为Running 

7)把它切换到前台继续运行
#fg 1
// 放到前台后可以按住ctrl+c来终止进程
 
 
 

 

.Linux进程的前后台切换

标签:

原文地址:http://www.cnblogs.com/wuqianling/p/5370442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!