Как вы можете получить имя сценария в файле учета процессов BSD? - PullRequest
1 голос
/ 04 декабря 2008

Я пытаюсь написать программу для обработки файла учета процессов в стиле BSD под Linux (/var/account/pacct).

Когда мы запускаем скрипт с ./script_name или bash script_name, запись учета процесса фактически записывается командой bash. Предположительно, потому что это фактическая программа, выполняющая запуск.

То, что мы хотели бы видеть, это команда script_name. Кто-нибудь знает, как записать имя сценария в файл учета, а не в исполняемый файл bash?

1 Ответ

2 голосов
/ 04 декабря 2008

Linux: Вечная история Bash с Snoopy .

Редактировать : В качестве альтернативы взлома вы можете периодически запускать ps -eo args

Редактировать, задавая вопросы (поэтому я могу принять ответ от единственного SO'er, который выручил: -):

Я обнаружил, что если вы на самом деле добавили «'#!bin/bash» в файл, он начал отображаться в pacct с именем скрипта (tst) вместо интерпретатора (bash).

Мой сценарий изначально был лишен маркера хэш-взрыва, и, возможно, bash пришлось заново выполнить себя или что-то в этом роде. Во всяком случае, это сейчас исправлено.

...