rc6.d 中的自定义关闭脚本似乎不起作用。

rc6.d 中的自定义关闭脚本似乎不起作用。

我正在使用一个有点敏感的软件应用程序,因此我不想在重新启动或关机时自动关闭该软件。我创建了一个脚本,并将其放置在 /etc/init.d/ 中,并在 /etc/rc6.d 中添加符号链接,并将其命名为“K99_restofname”。该脚本在重新启动场景之外的测试中效果很好。该过程需要近一分钟才能完成。我不认为它在我重新启动时运行或工作,因为系统关闭得很快,并且我应该在脚本工作时看到延迟。 (我也在看着屏幕)我也没有在日志中看到任何内容。这是我的脚本:

 #!/bin/bash

## # Any subsequent(*) commands which fail will cause the shell     script to exit immediately

abort()
{
echo >&2 '
***************
*** ABORTED ***
***************
'
echo "An error occurred. Exiting..." >&2
exit 1
}

trap 'abort' 0

set -e

## Stopping the application services before the system shuts down. This   must be done by the application user user. 

VAR=`/bin/su -c "/opt/app/bin/command stopall" - user`

echo $VAR

# DONE

trap : 0

echo >&2 '
************
*** DONE *** 
************
'

谁能告诉我可能发生了什么或者我如何追踪自定义关闭脚本?还有比这更好的方法来实现我的目标吗?我的系统是RHEL 6服务器。

答案1

将 K99 更改为 S00_ 或 mv S01reboot Sxxreboot 并使脚本成为 S01。

我所做的是创建一个脚本:

#!/bin/bash
echo "Ran S10" >> /var/tmp/done

并将其称为“S10Test”

然后另一个:

#!/bin/bash
echo "Ran K10" >> /var/tmp/done

然后我重新启动了我的虚拟机。

/var/tmp/done 包含“S10”

您可能想测试一下自己。

我怀疑正在发生的是 S 脚本运行当你进入时运行级别。 K 脚本运行当你离开时。由于 S01Reboot(原名)会重新启动,因此没有“离开”。

(注意“嫌疑人”)。

相关内容