Я пытаюсь написать программу для обработки файла учета процессов в стиле BSD под Linux (/ var / account / pacct).
Когда мы запускаем сценарий либо с ./script_name, либо с bash script_name, учетная запись процесса фактически записывается командой bash. Предположительно потому, что это фактическая программа, выполняющая работу.
Мы хотели бы видеть команду script_name. Кто-нибудь знает, как записать имя сценария в файл учета, а не в исполняемый файл bash?





Linux: Вечная история Bash с Snoopy.
Редактировать:
В качестве альтернативы взлому можно периодически запускать ps -eo args
Редактировать по вопрошающему (так что я могу принять ответ от единственного SO'er, который помог :-):
Я обнаружил, что если вы действительно добавили «#!bin/bash» в файл, он начал отображаться в пакете с именем сценария (tst) вместо интерпретатора (bash).
Изначально в моем сценарии не было маркера хеш-взрыва, и, возможно, bash пришлось повторно запускать себя или что-то в этом роде. Во всяком случае, теперь это исправлено.
После редактирования: я подумал об этом, но мы уже собираем информацию о пакете для других вещей, и мы не хотим загружать коробки дополнительной работой. Периодические рассылки также могут упускать из виду, и наш клиент может не слишком положительно относиться к этому :-)
Спасибо за помощь, 33d3si9g. Я исправил это и добавил исправление к вашему ответу, чтобы я мог его принять - я не люблю оставлять непринятые вопросы на моей странице статистики :-).
Интересная находка. К сожалению, мы не можем интегрировать код GPL в наш (или отправить его), но я дам вам положительный отзыв, так как подозреваю, что это может пригодиться для моего личного проекта.