2018-06-21 linux查看父进程id

2018-06-21 linux查看父进程id,第1张

环境 docker alpine

ps -efo "comm,pid,ppid,pgid,args"

args必须放在其他参数之后

linux中有时父进程结束后,子进程,以及子进程的子进程是无法结束的。

node -e "require('terminate')(2579)"

terminate是nodejs的一个模块

pm2 start /usr/local/lib/node_modules/visop/bin/visop-start -i 1 -n visopadmin -- -f

--后面跟的是脚本的参数

netstat -anp|grep 8050

netstat -anp|grep 8050|awk '{print $NF}'|grep -o [0-9]*

NF为awk中每一行的列数

getpid()得到当前进程的pid, getppid()是得到父进程的pid

写成语句就是

printf ( "My process ID is%d\n", getpid())

printf ( "My parent's process ID is%d\n", getppid())

记得要添加头文件 #include <stdio.h>

getppid() 获取父进程 id,

getpid() 获取当前进程 id.

比如

int main()

{

int pid = fork()

if (pid == 0)

{

// child

printf ("ParentID is %d\n", getppid())

}

esle

{

printf("I'm parent, id %d\n", getpid())

wait(NULL)

}

return 0

}

再就是程序编译没错,但是运行时出现“实时信号 2”

没有源码,谁也帮不上你。 你可以用 gdb去调试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8888002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存