linux修改进程的名字

1 修改linux进程名字的基本原理

linux进程以argv[0]作为进程的名字,因此只需要修改argv[0]处的字符串就修改了linux进程的名字。

2 直接修改argv[0]会导致的问题

如果名字过程的话,argv[0]放不下了,就会踩后面的参数或者后面的环境变量了。

argv字符串数组后面紧接着存放的是该进程的环境变量。

3 解决办法

先保存argv和环境变量,再修改argv[0],再把argv[0]后面原来的内容拷贝到新的argv[0]后面。

各种c程序中出现的setproctitle就是修改进程的名字。

猜你喜欢

转载自www.cnblogs.com/hustdc/p/8889067.html