Изменения argv не отражаются в /proc/pid/cmdlineLinux

Anonymous
Изменения argv не отражаются в /proc/pid/cmdline

Сообщение Anonymous »

Я пытался проверить содержимое командной строки после изменения значений argv, обновленные значения не отображаются:

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 

int main(int argc, char*argv[])
{
if (argc < 2) {
printf("Usage: %s arg1 arg2 .. \n", argv[0]);
return 1;
}
printf("PID:%d\n", getpid());
//Print the original arguments
for (int i=0; i < argc; i++) {
printf("argv[%d]:%s\n", i, argv[i]);
}

getchar();
printf("Modifying arguments\n");
argv[0] = "Hello";
argv[1] = "123" ;
for (int i=0; i < argc; i++) {
printf("argv[%d]:%s\n", i, argv[i]);
}
getchar();

return 0;
}
Вывод такой же, как и до обновления аргументов. Это правильное поведение

Подробнее здесь: https://stackoverflow.com/questions/784 ... id-cmdline

Вернуться в «Linux»