Articles of 关机

如何检测从Linux应用程序关机/重新启动

我有一个用C语言编写的应用程序,作为一个守护进程运行,当系统处于关机或重启状态时,需要通过RS232发送一些东西,需要区分这两者。 所以我的想法是:在我的应用脚本/etc/init.d/my_app在我的脚本的“停止”的情况下,我会运行/ sbin / runlevel命令获取当前运行级别:0 – closures状态6 – 重新启动状态,然后我会执行一些命令来通知我的守护进程是什么状态,守护进程将通过rs执行通信,然后退出。 我认为它应该工作,但它可能不是最好的解决scheme,尤其是因为我的应用程序已经作为一个守护进程运行,也许我可以直接从系统/内核/库或通过Unix套接字或东西收到一些信号。 最好的祝福 马雷克

寻找哪个程序运行另一个

我有一个运行在似乎是Redhat Linux的有限版本上的NAS。 我遵循指示来破解它,所以我可以有shell访问,这是一个很大的帮助。 我也做了一些修改,其他人已经做了修改,除了一个问题,他们似乎都工作得很好。 不知何故,每隔22天,系统就会closures。 我用一个运行ps的脚本来查找shutdown实际上是被调用的,但是我不知道什么程序调用了shutdown。 如果我重命名/ sbin / shutdown,那么我可以编写一个脚本来replace它。 但是,我想要的最重要的信息是程序调用关机。 如果一个程序运行我的脚本(phony / sbin / shutdown),我怎样才能找出什么程序叫我的脚本? 我希望能够从脚本内部,首先确定哪个程序称为脚本。 如果它更容易,我总是可以使用Perl脚本而不是bash脚本。

如何检测Linux关机/重启

我试图检测closures或从我的C程序从Linux重新启动。 我发现程序可以使用signal(SIGTERM,handler)(SIGKILL,handler)。 但是如果用户用命令杀死这个进程,这两个也会触发。 在一些解决scheme,他们说可以使用运行级别,但它不会工作。 在系统初始化运行级别之前,不知道进程是否被终止。 我甚至尝试把脚本放在rcx.d中,但它仍然不起作用。 有没有人有一些build议? 我需要在多种Linux系统上运行。 谢谢。 [更新]我使用R解决scheme,但仍然没有看到我的数据在重新启动或关机清除。 是我的function是错误的? int start() { if (initIni() == EXIT_FAILURE) return EXIT_FAILURE; struct sigaction act; memset(&act, '\0', sizeof(act)); act.sa_sigaction = &signal_callback_handler; act.sa_flags = SA_SIGINFO; sigaction(SIGTERM, &act, NULL); …. } void signal_callback_handler(int signum, siginfo_t *siginfo, void *context) { if (signum == SIGTERM && (long)siginfo->si_pid == 1) { clearData(); […]

从Windows服务中断计算机closures

是否有可能中止电脑关机从Windows服务?

我应该处理WM_ENDSESSION,WM_QUERYENDSESSION,两者还是两者都不?

如果系统试图closures,应用程序可以通过覆盖OnQueryEndSession()并返回FALSE来阻止closures。 当然,这意味着WM_ENDSESSION是关于关机的唯一明确信息。 另一方面, 这个问题的最高层回答不亚于Raymond Chen说,回应WM_ENDSESSION是毫无意义的。 所以这是令人困惑的。 是否有某种“最佳实践”原则可用于决定哪些消息(如果有)应该做出什么样的应用closures工作? 特别是,如果两个消息都没有被处理,closures过程是否会导致应用程序被closures,就好像用户手动closures了应用程序(例如,点击红色的Xclosuresbutton)?

阻止Windows关机

我需要每次在Windowsclosures过程之前执行一些代码。 所以,我想阻止Windows关机过程一段时间。 我怎么能从Java或C ++ Builder做到这一点? 谢谢。

在Windows关机执行批处理脚本

有没有什么办法可以在Windows 7 Professional中运行一个批处理脚本(例如,.BAT文件),当用户点击“关机”(不是一个batch file计划closures机器,只有一个只有用户点击“关机”)? 理想情况下,这样的脚本将显示命令提示符窗口,并提供取消closures过程的选项。 不需要第三方实用程序的解决scheme将是可取的。

使用vbscript拦截windows中的closures

我想写一个VBScript,将等待Windows关机和拦截执行适当的行动之前closures。 我想这是在VBScript中,因为我正在使用它进行pipe理。

发送/捕获SIGTERM的Win32 API模拟

在POSIX操作系统下有一个信号API,它允许发送一个信号来处理closureskill,你可以用sigaction来捕获它并做你需要的; 但是,Win32不是POSIX系统,所以: 我如何处理可能出现的closures事件,例如从“任务pipe理器”中的“结束进程”? 发送关机信号到Win32应用程序的标准API是什么? 我不是在谈论GUI,我正在谈论TCP / IP服务器应该很好地closures。 这不像Windows服务运行。

用JavaclosuresWindows

是否有可能通过Java以编程方式closuresWindows? 干杯