一、命令说明
&
: 将程序放到后台运行Ctrl-z
: 将程序放到后台运行并暂停jobs
: 查看后台进程fg
: 把后台的进程放到前台执行bg
: 把后台暂停的进程放到前台执行
写一个测试程序:
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main(){ int a; cin >> a; // 阻塞程序 cout << a << endl; return 0; } |
1 2 3 4 |
> g++ main -o app > ./app 123 123 |
二、测试
使用&
把app
放到后台运行:
1 2 3 4 5 6 7 |
$ ./app & [1] 21862 # 挂起后台返回一个后台id[1]和系统进程id[21862] $ jobs # 查看后台的进程 [1]+ Stopped ./app $ ps aux | grep ./app # 打印进程信息 ma 21862 0.0 0.0 11740 1000 pts/2 T 17:19 0:00 ./app ma 21892 0.0 0.0 103320 852 pts/2 R+ 17:19 0:00 grep ./app |
前台继续运行:
1 2 3 4 |
> fg % 1 # fg 1也可以,fg后面的id不是进程id ./app 234 # 调起后台进程 234 |
Ctrl-z
将会把程序放到后台挂起,进程在后台不属于运行态,如要后台运行需使用bg
命令:
1 2 3 4 5 |
> ./app ^Z [1]+ Stopped ./app > bg 1 [1]+ ./app & |
评论