1 修改linux进程名字的基本原理
linux进程以argv[0]作为进程的名字,因此只需要修改argv[0]处的字符串就修改了linux进程的名字。
2 直接修改argv[0]会导致的问题
如果名字过程的话,argv[0]放不下了,就会踩后面的参数或者后面的环境变量了。
argv字符串数组后面紧接着存放的是该进程的环境变量。
3 解决办法
先保存argv和环境变量,再修改argv[0],再把argv[0]后面原来的内容拷贝到新的argv[0]后面。
各种c程序中出现的setproctitle就是修改进程的名字。