【请教】关于命令phshutdown

在之前的帖子 http://www.openqnx.com/chinese/viewtopic.php?f=2&t=2778 中,得知
在程序中使用函数

system(“phshutdown -S system -u”);

可以实现自动关机(虽然不会自动关闭电源)。

现在有新的问题:
使用UPS时,需要向其发送信号以关闭UPS的电源。这可以使用以下语句实现

out8(0x02fc, 0x01);

这条语句应该放在程序的最后运行,也就是画面显示“可以关闭电源”的时候。
但是问题是如果按照下面这样,在系统关闭的进度还没结束的时候,电源就会先被关掉。

system("phshutdown -u -S system");
out8(0x02fc, 0x01);

目前能想到的对策就是自制一个功能类似于 phshutdown 的函数,在函数最后加入发送信号的语句。
诸位达人能帮忙解释 phshutdown 系统关机的流程么?有源代码更好。非常感谢!
PS1:系统版本是6.3
PS2:手上有一个 shutdown.c 文件,但是对应的系统版本貌似是4,里面的库文件和函数还有数据类型与6.3差别挺大的样子…