ps -aux 查看nginx进程,可以根据进程名称知道其作用
root 56085 0.0 0.0 22480 64 ? Ss Apr11 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 56086 0.0 0.0 22916 268 ? S Apr11 0:00 nginx: worker process
Linux系统中进程名称是保存在argv二位数组中的
int main(int argc, char **argv){
printf("argv[0] %s\n", argv[0]);
}
我的进程名是flock,argv[0]的值就是./flock
[root@localhost exe]# ls -l
total 12
-rwxrwxr-x. 1 wjm wjm 10581 Apr 17 00:49 flock
[root@localhost exe]#
[root@localhost exe]#
[root@localhost exe]# ./flock
argv[0] ./flock
只要将要修改的进程名赋值给argv[0]就可以了
int main(int argc, char **argv){
printf("argv[0] %s\n", argv[0]);
sprintf(argv[0], "%s: %s", argv[0], "worker process");
}
[root@localhost exe]# ps -aux |grep flock
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 117491 0.0 0.0 13896 976 pts/4 S 00:54 0:00 ./flock: worker process
argv使用的是栈空间,如果替换的名称太长,会覆盖其它变量的值