Я запускаю OS X Yosemite, и я хотел бы всегда запускать команду от имени пользователя root при запуске:

tcpdump -i en0 'icmp and icmp[icmptype]=icmp-echo' >> /var/vtcakavsmoace/Desktop/ping_information.txt

Есть ли способ сделать это, как пользователь root, при загрузке или при входе в систему любого пользователя?

1 ответ1

0

Нашел ответ - это немного отличалось от того, что я ожидал, но, эй, это работает.

Вот следующий код для того, как я это сделал.

su
Password:
sh-3.2# crontab -e

Это редактирует задания cron для root. Когда вы запустите эту команду, она откроет интерфейс редактирования vi.

Чтобы запустить процесс при загрузке и в фоновом режиме, вам нужно нажать i и ввести следующее:

@reboot <command> & echo Doing the command.

Это заставляет <command> работать в фоновом режиме и не останавливать процесс загрузки как root. Я вставил следующее:

@reboot tcpdump -i en0 'icmp and icmp[icmptype]=icmp-echo' >> /var/vtcakavsmoace/Desktop/ping_queries.txt & echo Now Returning Ping...

а затем нажмите клавишу Esc на клавиатуре, затем ZZ (необходимо использовать заглавные буквы). Это спасло работу cron, и при загрузке это сработало плавно!

Источники:

https://stackoverflow.com/questions/15395479/why-ive-got-no-crontab-entry-on-os-x-when-using-vim

http://www.raspberrypi-spy.co.uk/2013/07/running-a-python-script-at-boot-using-cron/

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .