【问题标题】:Python OS ModulePython 操作系统模块
【发布时间】:2012-03-18 19:57:12
【问题描述】:
我在 Python 的 OS 模块中尝试执行的操作是执行通常在命令行上执行的“注销”操作。我写:
os.system('logout')
但是,当我这样做时,我得到:
sh: line 0: logout: not login shell: use `exit'
所以,我试着做了:
os.system('exit')
这只是退出 python 程序,它不执行“注销”。
我该怎么做呢?可以吗???
【问题讨论】:
标签:
python
shell
command-line
【解决方案1】:
“注销”是在作为“登录外壳”启动的外壳退出时发生的事情。没有其他程序可以执行logout 命令,因为只有退出登录 shell 的行为才会注销。
话虽如此,您也许可以找到属于当前用户的适当登录 shell,然后将其杀死。不过请确保您选择了正确的用户,用户可能会多次登录,而杀死错误的用户会很烦人。
【解决方案2】:
logout 是一个 shell 命令(即 bash 或 csh 或您使用的任何内容的一部分)。它不是系统的可执行文件,只是脚本语言的一部分。
问问自己你真正想要实现什么。
【解决方案3】:
我刚看到你的问题,发现你接受了一个不正确的答案。
您要做的是启动 shutdown cmd 命令。这是一个非常强大的命令,需要您在相关 PC 上具有管理员访问权限。
要注销计算机(但不强制退出),请在 python 中使用此命令:
os.system("shutdown -l")
要关闭计算机并关闭所有程序,请使用以下命令:
os.system("shutdown -s -f")
要关闭计算机,自动关闭所有程序并在一段时间内显示自定义警告消息,请使用以下命令:
os.system("shutdown -s -f -t <time> -c <message>
在上面的示例中,替换为赢得用户的时间(以秒为单位)。替换为在警告期间显示的自定义消息。
希望这会对你有所帮助。