Linux - как изменить информацию о разветвленных процессах в C

Название может показаться немного странным, с ps aux Я вижу это:

root     20953  0.0  0.0   9528  1280 ?        Ss   Apr28   0:07 sendmail: accepting connections

где "принятие соединений "- это что-то вроде названия процесса sendmail. Это не аргумент, потому что cat / proc / 20953 / cmdline возвращает sendmail: прием соединений (пробел вместо 0x00):

# cat /proc/20953/cmdline |hexdump -C
00000000  73 65 6e 64 6d 61 69 6c  3a 20 61 63 63 65 70 74  |sendmail: accept|
00000010  69 6e 67 20 63 6f 6e 6e  65 63 74 69 6f 6e 73     |ing connections|
0000001f

Аргументы в / proc fs разделяются нулевым байтом:

# cat /proc/26511/cmdline |hexdump -C
00000000  2f 62 69 6e 2f 62 61 73  68 00 2f 77 65 62 72 6f  |/bin/bash./webro|
00000010  6f 74 2f 70 72 6f 72 61  69 6c 2f 73 63 72 69 70  |ot/prorail/scrip|
00000020  74 73 2f 73 79 6e 63 6c  6f 6f 70 2e 73 68 00     |ts/syncloop.sh.|
0000002f

Итак, когда я выполняю fork () в C, как я могу установить эту информацию о процессе, так что я могу распознать, что это за процесс?

5
задан NickSoft 4 May 2011 в 09:51
поделиться