linux如何查进程,杀进程,重启进程?
查找进程ps -ef | grep -v grep | grep “XXXXX”杀进程kill -9 `ps -ef | grep -v grep | grep XXXXX | awk ‘{print $2}’`重起service XXXX restart
linux怎么查看一个进程的执行状态?
1,写一个服务,用exec或popen执行ps的命令行,根据该进程的名字获取该进程的pid。
sprintf(cmd, “ps -ef|grep %s “,name);
pstr=popen(cmd, “r”);
然后php定时的请求这个机器上的进程状态,如果进程挂掉了,可以做个预警。
2,如果想做的更多,监视当前每个进程的资源消耗,比如CPU,内存,根据进程的id,可以去拿到/proc/pid/status中的一些数据,比如:
//获取进程占用内存
unsigned int get_proc_mem(unsigned int pid){
char file_name={0};
FILE *fd;
char line_buff={0};
sprintf(file_name,”/proc/%d/status”,pid);
fd =fopen(file_name,”r”);
if(nullptr == fd){
return 0;
}
char name;
int vmrss;
for (int i=0; i<VMRSS_LINE-1;i++){
fgets(line_buff,sizeof(line_buff),fd);
}
fgets(line_buff,sizeof(line_buff),fd);
sscanf(line_buff,”%s %d”,name,&vmrss);
fclose(fd);
return vmrss;
}
然后你就可以通过一些图形做一些动态展示了。
怎么查看linux进程名称?
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
2、其次,在命令行中输入:ps-ef。
3、最后,键盘按“回车键”运行shell指令,此时会看到所有linux进程的CMD名称。
linux查看哪个进程产生的文件夹?
可以使用ps -fe|grep filename,也可以使用fuser filename查看 只查看该进程:
ps -ef | grep 11345 查看该进程打开的文件:lsof -p 11345 查看内存分配:lcat /proc/11345/maps 查看堆栈:pstack 11345 查看发出的系统调用:strace -p 11345 查看调用库函数:ltrace -p 11345 11345是进程号
如何查看Linux上程序或进程用到的库?
使用ldd命令,可以查看程序使用的动态共享库文件:比如查询amixer使用的动态共享库文件:ldd/usr/bin/amixerlinux-vdso.so.
1=>(0x00007ffcab5ad000)libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007fd7317f0000)libasound.so.
2=>/usr/lib/x86_64-linux-gnu/libasound.so.2(0x00007fd731500000)libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fd73113b000)libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fd730f37000)libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007fd730d19000)librt.so.1=>/lib/x86_64-linux-gnu/librt.so.1(0x00007fd730b11000)/lib64/ld-linux-x86-64.so.2(0x00007fd731af6000)