linux下修改进程名称

第0节:直接上图观察介绍

cat /proc/4486/cmdline

nginx: master process /usr/local/nginx/sbin/nginx

cat /proc/4486/stat

4486 (nginx) S 1 4486 4486 0 -1 4202560 151 0 0 0 0 0 0 0 20 0 1 0 120859 18972672 244 18446744073709551615 1 1 0 0 0 0 0 1073745920 402745863 18446744073709551615 0 0 17 0 0 0 0 0 0

cat /proc/4486/status

Name:	nginx
State:	S (sleeping)
Tgid:	4486
Pid:	4486
PPid:	1
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
Utrace:	0
FDSize:	64
Groups:	0 
VmPeak:	   18528 kB
VmSize:	   18528 kB
VmLck:	       0 kB
VmHWM:	     976 kB
VmRSS:	     976 kB
VmData:	     792 kB
VmStk:	      84 kB
VmExe:	    3236 kB
VmLib:	    1896 kB
VmPTE:	      52 kB
VmSwap:	       0 kB
Threads:	1
SigQ:	1/30823
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000040001000
SigCgt:	0000000198016a07
CapInh:	0000000000000000
CapPrm:	ffffffffffffffff
CapEff:	ffffffffffffffff
CapBnd:	ffffffffffffffff
Speculation_Store_Bypass:	vulnerable
Cpus_allowed:	3
Cpus_allowed_list:	0-1
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	2
nonvoluntary_ctxt_switches:	0

 

可以看到ps-ef  查看到命令的是 cat /proc/PID/cmdline,在系统内部使用还有 cat /proc/PID/stat, cat /proc/PID/status ;

 

第一节:先说说 /proc/PID/stat 和 /proc/PID/status的进程名称修改

inux 下fork创建子进程,但是很多时候我们希望修改自己的子进程名称,可以使你的程序看起来更加个性化
linux c 下面是有proctl 可以解决这个问题的在fork创建的子进程里直接进行修改

prctl(PR_SET_NAME,"PURE") 

python的一个实现调用

import ctypes
import time

libc = ctypes.CDLL('libc.so.6')
libc.prctl(15, 'pure')
time.sleep(60000)

 

第二节:如何实现nginx那种启动命令修改的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章