我运行的是 OS X Yosemite,并且我想在启动时始终以 root 身份运行该命令:
tcpdump -i en0 'icmp and icmp[icmptype]=icmp-echo' >> /var/vtcakavsmoace/Desktop/ping_information.txt
有没有办法以 root 身份在启动时或登录时执行此操作任何用户?
答案1
找到了答案——它与我预期的有点不同,但是,嘿,它有效。
以下是我按照操作顺序编写的代码。
su
Password:
sh-3.2# crontab -e
这将编辑 root 的 cron 任务。运行此命令时,它将打开 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/