本人参考了别人的代码,实现了修改进程的名称:
直接编译运行查看就行了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
extern char** environ;
void my_initproctitle(char* argv[], char** last);
void my_setproctitle(char* argv[], char** last, char* title);
int main(int argc, char* argv[])
{
char s_title[] = "ymc title ymc title";
char* p_last = NULL;
my_initproctitle(argv, &p_last);
my_setproctitle(argv, &p_last, s_title);
while(1)
{
system("ps -ef|awk '$8 ~ /ymc/ {print $0}'");
sleep(10);
}
return 0;
}
void my_initproctitle(char* argv[], char** last)
{
int i = 0;
char* p_tmp = NULL;
size_t i_size = 0;
for(i = 0; environ[i]; i++){
i_size += strlen(environ[i]) + 1;
}