C++ —— 进程
引言
进程
就是系统中正在运行
的程序
(LINUX的命令也是程序)
win
的任务管理器
可以查看进程,win
中常用的就是查看进程
,以及终止进程
。
Linux查看进程命令:
ps -ef 查看所有进程
ps -ef | less 查看所有进程(可以上、下一行,上、下翻页,按q退出)
终端显示如下:
CMD
:该进程运行的是哪个程序(command
的简写);
UID
:哪个用户运行的程序,系统进程一般都是root
用户运行的;
PID
:进程的编号;
PPID
:父进程编号;
C
:进程占用CPU的百分比,数值太够就需要关注一下;
STIME
:进程启动的时间;
TTY
:运行程序的终端(不咋重要);
TIME
:进程使用CPU
的时间(合计),即一共使用了多长时间的CPU
。
如何找到自己写的程序产生的进程
写一个hello.cpp
,编译运行。然后再新打开一个终端,键入ps -ef | grep hello
,把ps
输出的结果用grep
过滤,关键字就是可执行文件的名称。
hello
运行程序非常短,用ps
是看不到的,修改代码如下:
#include <iostream>
#include <unistd.h>
using namespace std;
int main() {
cout << "Hello, World! 666" << endl;
sleep(100); // 睡眠100秒
cout << "ok" << endl;
return 0;
}
编译代码:g++ -o hello hello.cpp
运行:./hello
新开一个终端:ps -ef | grep hello
显示的结果如下:
第一行是hello
产生的进程,第二行是grep
命令产生的进程。
命令:
ps aux | less
ps aux | grep 关键字
也可以产看进程,只是显示的格式不同。
终止进程
kill 进程编号(用ps查到进程编号再kill)
kill 92339
kill -9 进程编号
killall 程序名
killall hello
killall -9 程序名
两者效果一样
如果程序很顽固,可以在命令后面加-9
选项强制终止。
感谢浏览