我有一个备份脚本,每天在我的linux(Fedora 9)计算机上运行.如果在备份过程中计算机已关闭,则备份可能已损坏,因此我想编写一个小脚本,暂时禁用用户重启或关闭计算机的能力.
脚本没有必要是不可靠的,它只是让系统用户知道备份正在进行而且不应该关闭.我已经在DBus Free桌面电源管理规范中看到了Inhibit方法:http: //people.freedesktop.org/~hughsient/temp/power-management-spec-0.3.html 但是这只能防止系统空闲时关闭没有明确地在用户请求.
有没有一种简单的方法可以在C/Python/Perl或bash中执行此操作?
更新:为了澄清上面的问题,它是一台拥有多个用户的机器,但是通过插入的键盘/鼠标顺序使用它.我不是在寻找能够阻止我以root身份"劈砍"它的系统.但是当我选择从Gnome/GDM菜单关闭时,会提醒我(或其他用户)备份仍在运行的脚本
另一个入门解决方案:在关机期间,系统运行/etc/init.d/中的脚本(或者实际上是/etc/rc.*/中的脚本,但你明白了.)你可以创建一个该目录中用于检查备份状态的脚本,延迟关闭直到备份完成.或者更好的是,它可以优雅地中断备份.
超级用户可以解决此脚本(例如,使用/ sbin/halt),但是如果超级用户真正设置了这样做,则无法阻止超级用户执行任何操作.