有以下命令实现前后台切换总结:
1、 ./可执行应用 & 让进程在后台运行
2、 jobs -l 查看后台运行的进程
3、 fg %n 让后台运行的进程n到前台来
4、 bg %n 让进程n到后台去
5 、kill %n 杀死job
以上的"n"为jobs命令查看到的job编号num,不是进程编号
一、& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行如:
./aplication & 这个应用程序就在后台去运行了
ma@M:~/Desktop$ ./client &
[2] 11386
解释:将可执行的client放入后台运行
二、ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
ma@M:~/Desktop$ ./client
建立Socket成功...
连接服务器成功...
^Z
[1]+ Stopped ./client
解释:没有加入到后台的client,按下ctrl + z之后 进入了后台运行
三、jobs -l
查看当前有多少在后台运行的命令
ma@M:~/Desktop$ jobs -l
[1]- 11432 Stopped ./client
[2]+ 11438 Stopped (tty input) ./client
解释:l = list 前面的[1]、[2] 中的数字就是后台进程的编号
可用此编号结合fg 、bg 将后台程序掉到前台运行
四、fg %n
将后台中的命令调至前台继续运行 如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是后台正在执行的命令的序号(不是pid)。
ma@M:~/Desktop$ fg %1
./client
解释:将编号为1的后台进程掉到前台运行 下面的bg同理
五、bg %n
将一个在后台暂停的命令,变成继续执行 如果后台中有多个命令,可以用bg
%jobnumber将选中的命令调出,%jobnumber是后台正在执行的命令的序号(不是pid)。