Armadilloフォーラム

コンテナからABOS上の常駐型スクリプトを実行する方法について

takamura.eiji

2025年8月20日 16時41分

==========
製品型番:AG9130-C03D0
Debian/ABOSバージョン:v3.21.3-at.12
==========

下記のブログをみてコンテナからABOS上の任意のスクリプト実行を試しました。
https://armadillo.atmark-techno.com/blog/15349/22996

無限ループを行なう常駐型のスクリプトの場合、こちらで紹介されている方法ですと
「5.コンテナからスクリプトを実行」のコマンド実行後、プロンプトに戻ってきません。

対象のスクリプト処理を別ファイルにして、「/etc/atmark/abos_web/customize_rest/test_script.sh」内で
"xxx.sh &"としてもダメでした。

何か良い方法はありませんでしょうか?

コメント

at_dominique.m…

2025年8月20日 17時11分

マルティネです。

> 対象のスクリプト処理を別ファイルにして、「/etc/atmark/abos_web/customize_rest/test_script.sh」内で
> "xxx.sh &"としてもダメでした。

はい、REST コマンドの終了条件としては子プロセスの停止だけでなく、 file descriptor をクロース待ちです。

test_script.sh で stdout/stderr を閉じればバックグラウド実行は可能です

以下のいずれの方法でいかがでしょうか。

# ① 親スクリプトで閉じる
# この exec コマンドの後の出力を見えなくなります
exec >/dev/null 2>&1
sleep 10 &
 
# ② バックグラウンドコマンド実行時に閉じる
sleep 10 >/dev/null 2>&1 &

よろしくお願いします