В программе C я могу записать argv [0], и новое имя обнаруживается в списке PS.
Как я могу сделать это в ударе?
У меня была возможность просмотреть исходный текст bash, и не похоже, что там есть поддержка записи в argv[0].
Это можно сделать при запуске новой программы с помощью exec -a <новое имя>
.
Добавлю только, что это возможно во время выполнения, по крайней мере, в некоторых средах. Присвоение $0 в perl на linux действительно изменяет то, что отображается в ps. Однако я не знаю, как это реализовано. Если мне удастся это выяснить, я обновлю эту статью.
edit: Судя по тому, как это делает perl, это нетривиально. Я сомневаюсь, что есть какой-либо встроенный способ во время выполнения, но не знаю точно. Вы можете посмотреть как perl задает имя процесса во время выполнения.