一、命令说明
&
: 将程序放到后台运行Ctrl-z
: 将程序放到后台运行并暂停jobs
: 查看后台进程fg
: 把后台的进程放到前台执行bg
: 把后台暂停的进程放到前台执行
写一个测试程序:
#include <iostream>
using namespace std;
int main(){
int a;
cin >> a; // 阻塞程序
cout << a << endl;
return 0;
}
> g++ main -o app
> ./app
123
123
二、测试
使用&
把app
放到后台运行:
$ ./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
前台继续运行:
> fg % 1 # fg 1也可以,fg后面的id不是进程id
./app
234 # 调起后台进程
234
Ctrl-z
将会把程序放到后台挂起,进程在后台不属于运行态,如要后台运行需使用bg
命令:
> ./app
^Z
[1]+ Stopped ./app
> bg 1
[1]+ ./app &
此处评论已关闭