任务完成后如何关闭计算机?
我通常在上学前开始下载。
在特定任务完成后,我应该使用哪个命令自动进行必要的保存并关闭计算机?
(比如说,安装更新后,或下载大文件后。)
我也在unix.stackexchange上交叉发布了这个。
要做一次以使您能够在没有密码的情况下关闭机器:
打开命令行并键入:
sudo visudo
在打开的文件中,在末尾添加以下行:
yourusername ALL=NOPASSWD: /sbin/halt
然后退出编辑器并保护它( Ctrl + X )。
现在,您可以从命令行关闭计算机,例如在下载之后:
wget UrlOfTheFileYouWantToDownload && sudo halt
我知道这并不能完全回答你的问题,但你也可以让它基于时间,即如果你认为你的下载将在2小时内完成,你可以简单地发出命令:
shutdown -h +120
要在更新后关闭,您可以使用此python脚本: http : //kotbcorp.blogspot.com/2009/06/shutdown-after-update-in-ubuntu.html
要在下载后关闭我使用此命令:
wget http://somehwere.com/path/to/some.file && halt
其他答案是正确的,但缺少一些东西:
wget UrlOfTheFileYouWantToDownload ; sudo halt
VS
wget UrlOfTheFileYouWantToDownload && sudo halt
第二个只会在wget
成功返回时关闭计算机。 无论wget
成功返回还是失败,第一个都将停止运行。
您可以使用下载管理器或Torrent客户端在完成后关闭电脑,或者假设您正在对磁盘进行碎片整理,您可以在完成后单击关闭,这在大多数软件中都可用
我想这很大程度上取决于你如何“下载”。
如果您正在谈论apt-get更新,升级顺序,以root身份使用&&将命令串在一起(如果没有错误,则序列只会继续)
sudo su - apt-get update && apt-get upgrade && shutdown -h now
如果您正在谈论下载(例如使用wget)[再次使用&&表示法将命令串在一起,确保命令仅在前一个命令成功时按顺序执行]
sudo su - wget -t0 -c http://somedownloadsite/path/file.foo && shutdown -h now
如果您的下载是由图形客户端(gui)完成的,那么它将取决于该客户端在成功下载后执行脚本的机制。
我个人发现使用gedit更容易设置原始版本
yourusername ALL=NOPASSWD: /sbin/halt
因为sudo visudo
对我很困惑,并没有清楚地显示最后一行
所以我用过
sudo -H gedit /etc/sudoers
然后结束了一个明确的(对我而言)页面
# User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL #includedir /etc/sudoers.d shantiq ALL=NOPASSWD: /sbin/halt
只是想我会提到,以防其他人也有点困惑
您可以执行以下操作,而不是更改关闭时的权限:
sudo bash -c 'apt-get update; apt-get dist-upgrade; shutdown -h now'
这样做是以root身份运行bash提示符,执行单引号列表中的项目然后退出。 这种方法的好处是Ubuntu会在一段时间后忘记你的初始sudo
身份validation(取决于设置的超时时间 – 默认情况下为15分钟),遇到你机器的人只能停止当前命令,而不是运行新命令。 此外,对于每个人都说要使用su
,请尝试:
sudo -s
我认为你不能这样做……你无法知道特定应用何时完成了它的事情。
我曾经做过sudo su; sleep 3600; halt;
sudo su; sleep 3600; halt;