以 root 身份在启动时运行命令

以 root 身份在启动时运行命令

我想在每次启动时运行一个命令(关闭蓝牙设备)。我通常使用 cron 来执行这些操作,但这个命令需要以 root 身份运行。我该怎么做?

答案1

您仍然可以使用 cron 来执行此操作。

在 /etc/crontab 中创建一个这样的条目

@reboot  root /path/to/your/command

或作为根类型

crontab -e

并创建一个如下的 etry:

@reboot /path/to/your/command

/etc/crontab 是全局 crontab,因此您需要指定用户,crontab -e 调用每个用户的 crontab。

答案2

由于您已经在使用 cron,因此可以将其用作@rebootcron 条目的时间规范。在 Debian/Ubuntu 上,该条目可以位于目录中的文件中/etc/cron.d

我使用 blueman 工具来配置蓝牙服务。配置应该是粘性的。

如果您想完全禁用蓝牙,您应该考虑使用systemctl蓝牙disablestopblueman-mechanism 服务。禁用将阻止在重新启动时启动服务,停止将终止任何当前正在运行的服务。

原始/过时:您可以尝试将命令放入/etc/rc.local。此文件中的命令应在启动序列结束时运行。

正如@skrewler 所描述的,禁用驱动程序和/或软件通常是一个很好的解决方案。

答案3

您希望修改init.d脚本/设置。这可能很复杂,并且取决于您的发行版。您可能能够编辑或创建/etc/init/bluetooth.conf/etc/defaults/bluetooth。但我认为 Vixie Cron 支持 root 的 cron 作业,并且具有启动时间设置。

答案4

如果你使用的是 Fedora,请运行此命令chkconfig --level 12345 bluetooth off

相关内容