我只想知道 in 之间的区别
reboot init 6shutdown -r now哪个是最安全和最好的?
man 5 crontab 关于如何使用 crontab 在启动时运行脚本非常清楚:
These special time specification "nicknames" are supported, which replace the 5 initial time and date
fields, and are prefixed by the `@` character:
@reboot : Run once after reboot.
Run Code Online (Sandbox Code Playgroud)
所以我很高兴地在我的 crontab 中添加了一行(在我的用户帐户下,而不是 root 下):
@reboot /home/me/myscript.sh
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,myscript.sh 不会在机器重新启动时运行。(如果我从命令行调用它,它运行良好,所以这不是权限问题)
我错过了什么?
更新以回答@Anthon 的问题:
/home 是挂载分区。看起来这就是问题所在。我该如何解决这个问题?myscript.sh仅将文本消息回显到/home/me.要从终端重新启动或关闭 Linux,可以分别使用reboot和poweroff。但是,这两个命令都需要 root 权限。为什么会这样?不要求它具有 root 权限会带来什么安全风险?GUI 为任何用户提供了一种关闭或重新启动的方法,那么为什么终端命令需要以 root 身份运行?
说到 GUI 中的选项,如果终端需要 root 权限来关闭或重新启动 Linux 计算机,那么 GUI 怎么能够在不需要输入密码的情况下提供执行相同操作的选项?
我为一个相当难的数学问题开发了一个算法,这个问题可能需要几个月才能完成。由于我的资源有限,我在我的 Ubuntu 12.04 (x86) 笔记本电脑上开始了这个。现在我想安装一些更新并实际重新启动笔记本电脑(“请重新启动”消息很烦人)。
有没有办法保存整个进程,包括其分配的内存,以便在重启后继续?
以下是有关您可能需要的流程的一些信息。如果需要,请随时询问更多信息。
./binary > ./somefile &”或“time ./binary > ./somefile &”调用了该进程,我真的记不清了。我设置了双引导 Linux/windows 系统,并且经常从一个切换到另一个。我在想是否可以在其中一个菜单中添加一个菜单项以直接重新启动到 Windows,而无需在 GRUB 提示符处停止。
我在论坛上看到这个问题,这正是我想要的,但它是在处理 lilo,这不是我的情况。
我想到了一个解决方案,可以修改 GRUB 菜单中的默认条目,然后重新启动,但是有一些缺点,我想知道是否有更干净的替代方案。
(另外,我对从 Windows 直接启动到 Linux 的解决方案感兴趣,但这可能更难,不属于这里。无论如何,只要我有一种方式,另一种方式可以设置为默认值。
UPDATE似乎有人问过类似的问题,如果这些是建议的答复,我还不如编辑/boot/grub/grubenv作为grub-reboot和grub-set-default和grub-editenv做。)
提前感谢您的任何提示。
更新:
这是我的 GRUB 版本: (GRUB) 1.99-12ubuntu5-1linuxmint1
我试过运行grubonce,没有找到命令。在存储库中搜索它什么也没给我。我在 Linux Mint 上,所以可能是这样......
看到man grub-reboot,它似乎像我想要的那样grubonce做。它也随处可用(至少对我来说是这样,我认为它是 grub 包的一部分)。我看到了两个相关的命令:grub-editenv和grub-set-default。
我发现在运行之后,运行sudo grub-set-default 4时grub-editenv list你会得到类似的东西:
saved_entry=4
Run Code Online (Sandbox Code Playgroud)
当运行时grub-reboot 4,你会得到类似的东西:
prev_saved_entry=0
saved_entry=4
Run Code Online (Sandbox Code Playgroud)
这意味着两者都做同样的事情(一个是临时的,一个不是)。
令人惊讶的是,当我尝试:
sudo grub-reboot 4
sudo reboot now
Run Code Online (Sandbox Code Playgroud)
它不起作用,好像我什么也没做,它只是像往常一样向我显示菜单,并选择了第一个条目,说它将在 …
在Arch Linux的,如果我做ls -l的/sbin,我可以看到reboot,shutdown而且poweroff都是符号连接/usr/bin/systemctl。但是发出reboot,shutdown和systemctl命令显然并不都具有相同的行为。
是ls -l不是向我展示有关符号链接的完整信息?例如,我如何知道真正的符号链接reboot是什么?
除了升级内核之外,Linux 系统是否有任何需要重新启动的更改?我知道在某些情况下重启会让事情变得更容易,但是有没有除了重启之外无法完成的事情?
澄清一下:我正在考虑一个典型的台式机或服务器系统,它不会出现硬件故障。
要运行该命令poweroff或reboot需要超级用户。无论如何我可以以普通用户身份运行它吗?我只是不想sudo每次重新启动或关闭电源时都输入密码。
我正在用 bash 编写一个 shell 脚本。在脚本的某个时刻,它检测到机器需要重新启动才能继续。它发出:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
当机器重新启动时,这个脚本需要做更多的工作。如何配置某些内容以继续在此脚本中执行工作?
我假设在某个地方可以编写一个 shell 脚本,以便在下次重新启动时执行。哪里有这样的地方?我看到 cron 有一个 @reboot 指令。我也知道诸如 Apache 之类的服务是由 upstart 在启动时启动的。其中任何一个都是合适的机制吗?如果有,如何触发?
这个脚本只需要运行一次,而不是每次重启。因此,它必须在下次重新启动时运行,或者在运行后能够自行删除。
此问题询问如何在重新启动后保存应用程序状态。我的脚本没有太多状态,所以我可以管理它。我只需要知道如何让这个脚本在下次重启后触发一些东西运行。
我的具体版本是 Ubuntu Linux 14.04。原始脚本由系统管理员在命令行上启动(而不是从 cron 运行)。