修改進程名並搬移環境變量

#include <iostream>
#include <string>
#include <memory.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>

using namespace std;

int main(int argc, char* argv[])
{
    int size = 0;
    for(int i=0; environ[i]; i++)
    {
        size += strlen(environ[i]) + 1;
    }
    char* new_penvriron = (char*)malloc(size);
    memset(new_penvriron, 0, size);

    for(int i=0; environ[i]; i++)
    {
        int len = strlen(environ[i]) + 1;
        strcpy(new_penvriron, environ[i]);
        environ[i] = new_penvriron;
        new_penvriron += len;
    }

    char* cmd = argv[0];
    char* s = "master";
    cmd = s;
    while(1)
    {
        sleep(1);
    }

	return 0;
}

 

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