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那種啓動命令修改的

 

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