(C Linux)Изменение имени процесса
Модератор: Модераторы разделов
-
SSDD
- Сообщения: 157
- ОС: linux
(C Linux)Изменение имени процесса
Подскажите, плиз, как изменить имя процесса(отображаемое ps'ом)?
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: (C Linux)Изменение имени процесса
В простейшем виде, в Linux, это делается так:За размером данных, копируемых по адресу argv[0], разумеется, нужно следить - так чтобы эта строка не затёрла остальные (argv[1] и т.д.) аргументы командной строки (или предварительно их значения сохранять куда-то ещё).
Решение непереносимое (в BSD для этого есть соответствующая системная функция, в Windows подобное решение вообще не будет работать, ибо там имя процесса меняется ещё сложнее, через одно место, методом руткитов) и, как понятно, не самое безопасное.
Код: Выделить всё
memset(argv[0], 0, strlen(argv[0]));
strcpy(argv[0], "test");Решение непереносимое (в BSD для этого есть соответствующая системная функция, в Windows подобное решение вообще не будет работать, ибо там имя процесса меняется ещё сложнее, через одно место, методом руткитов) и, как понятно, не самое безопасное.
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: (C Linux)Изменение имени процесса
http://kerneltrap.org/man/linux/man2/prctl.2
sys-apps/prctl
PR_SET_NAME
(Since Linux 2.6.9) Set the process name for the calling process to arg2.
sys-apps/prctl
все сказанное есть имхо...
-
SSDD
- Сообщения: 157
- ОС: linux
Re: (C Linux)Изменение имени процесса
2 serzh-z, чет как-то не помогло =\
2 d_n_k, сработало =)
Всем спасибо за внимание!
2 d_n_k, сработало =)
Всем спасибо за внимание!