これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド起動ツールです。
プログラム:
NAME
launchtool - 実行を監視しながらコマンドを実行します。
SYNOPSIS
起動ツール [オプション] [ command]
DESCRIPTION
起動ツール ユーザーが指定したコマンドを実行し、その実行を監視できるツールです。
環境の制御、信号のブロック、出力の記録など、さまざまな方法で
ユーザーとグループの権限の変更、リソースの使用量の制限、失敗した場合の再起動、
継続的に実行してデーモンに変えます。
起動ツール コマンドラインと構成を使用して完全に構成可能です
ファイル。 設定ファイルは「#!/usr/bin/launchtool」で始まる実行可能ファイルにすることができます。
-C」を使用すると、より単純なコマンドを使用してデーモンを作成できます。
呼び出し
起動ツール コマンドラインで見つかったコマンドを、スイッチまたは
設定ファイル。 スイッチ以外のパラメータはすべてコマンドに連結されます。
「」を使用して実行されます/bin/sh -c」。
起動ツール デフォルトの実行モードでは、コマンドを通常どおり実行し、終了を返します。
スターテス。 すべての機能はデフォルトでは無効になっており、コマンドライン オプションまたはコマンドライン オプションを使用して有効になります。
設定ファイル内の値。 コマンドライン オプションは構成ファイルをオーバーライドします。
起動ツール セッションは、コマンド出力をマークするために使用されるタグによって識別されます。
ログファイル内で実行中のセッションを特定し、セッションがすでに開始されているかどうかを確認します。
プロセス PID を指定せずにシグナルを送信します。
OPTIONS
起動ツール 通常のGNUコマンドライン構文に従い、XNUMXで始まる長いオプションを使用します
ダッシュ( `-')。
-?、 - 助けて
すべてのオプションの概要を含む詳細なヘルプ メッセージを表示します。
- 利用方法
簡単な使用法メッセージを表示します。
-k、 --kill[=シグナル]
指定されたシグナル (デフォルトでは 15) で実行中の launchtool を強制終了し、終了します。 いいえ
シグナル名の解析は (まだ) 提供されているため、シグナルはそのシグナルによって指定する必要があります。
数。
- チェック
別の launchtool が実行されているかどうかを確認して、終了します。
--showcfg
構成ファイルとコマンドラインを処理し、結果の構成を表示して終了します。
-V、 - バージョン
バージョンを印刷して終了します。
-NS、 --tag=タグ、 "鬼ごっこ"
セッションを識別するために使用されるタグ
-C、 --config=ファイル
「ファイル」から設定データを読み込みます。 デフォルトは /etc/launchtool/ .conf
-v、 -詳細、 「冗長」
詳細出力を有効にします。
--詳細なし
詳細な出力を無効にします。
- デバッグ、 "デバッグ"
デバッグ出力を有効にします (--verbose 出力を含む)。
--デバッグなし
デバッグ出力を無効にします。
-NS、 --command=cmd、 "コマンド"
実行するコマンド。
--visible-tag=タグ、 "見える 鬼ごっこ"
「launchtool-」の代わりに pidfile とログファイルに使用するタグ”。
-NS、 - デーモン、 "デーモン"
バックグラウンドにフォークしてターミナルから切り離し、デーモンになります。
-NS、 -デーモンなし
デーモンにならないでください。
--pidfile、 「pidfile」
pidfile を作成します (--daemon が使用される場合のデフォルト)。
--no-pidfile
pidfile を作成しません (--daemon が使用されていない場合のデフォルト)。
--piddir=ディレクトリ、 「ピディル」
pidfile が保存されるディレクトリ (デフォルトは / var / run).
--chroot=ディレクトリ、 "根 dir "
コマンドを実行する前に、このディレクトリに chroot を実行します。
--chdir=ディレクトリ、 "始める dir "
コマンドを実行する前に、このディレクトリに chdir します (デフォルトは「.」または「/」です)。
--デーモンが存在します)。
-u、 --user=ユーザー、 "ユーザー"
コマンドを実行するユーザー権限。
-NS、 --group=グループ、 "グループ"
コマンドを実行するためのグループ権限。
--umask=マスク、 「ウマスク」
コマンドを実行する前に、この umask を設定します。
-L、 -- 無限実行、 "無限 走る」
コマンドが失敗した場合でも、決して諦めずに再実行してください。
--無限の実行はありません
一定回数失敗した後は、コマンドの再起動を中止します。
--wait-times=t1、t2、... , "待って 回」
プログラムの失敗後に再起動するまでに待機する時間のリスト (秒単位)。
指定しない場合、失敗したコマンドは再開されません。
--good-running-time=秒、 "良い ランニング 時間"
最初の待機時間の再起動に必要な最小実行時間。
--forwarded-signals=sig1,sig2,... , 「転送されました 信号」
コマンドに転送されるシグナルのリスト (名前または番号)。
--blocked-signals=sig1,sig2,... , 「ブロックされました 信号」
コマンドを実行する前にブロックされるシグナルのリスト (名前または番号)。
--limit-cpu=秒、 "CPU 限界」
コマンドの CPU 時間制限 (「 制限する(2))。
--limit-file-size=1024b-ブロック、 "ファイル サイズ 限界」
コマンドのファイル サイズ制限 (「 制限する(2))。
--limit-data-memory=1024b-ブロック、 "データ メモリ 限界」
コマンドのデータ メモリ サイズ制限 (「 制限する(2))。
--limit-プロセス数=カウント、 "プロセス カウント 限界」
コマンドのプロセス数制限 (「 制限する(2))。
--limit-open-files=数、 "開いた ファイル 限界」
コマンドの開いているファイルの制限 (「 制限する(2))。
--limit-core-size=1024b-ブロック、 "芯 サイズ 限界」
コマンドのコア ファイル サイズ制限 (「 制限する(2))。
--制限環境、 "制限 環境"
子供の環境を制限します。
--no-restrict-環境
すべての環境変数を子環境にコピーします。
--allowed-env-vars=var1,var2,... , "許可された env ヴァース」
環境が次の場合に子にコピーされる環境変数のリスト
制限付き。
--log-launchtool-output=ターゲット、 「起動ツール」 出力"
launchtool 出力のターゲット (ignore、stdout、stderr、file:filename または
syslog:アイデンティティ、ファシリティ、レベル)。
--log-launchtool-errors=ターゲット、 「起動ツール」 エラー」
launchtool エラー メッセージのターゲット (ignore、stdout、stderr、file:filename または
syslog:アイデンティティ、ファシリティ、レベル)。
--log-child-output=ターゲット、 "指図 出力"
子出力のターゲット (ignore、stdout、stderr、file:filename または
syslog:アイデンティティ、ファシリティ、レベル)。
--log-child-errors=ターゲット、 "指図 エラー」
子エラー メッセージのターゲット (ignore、stdout、stderr、file:filename、または
syslog:アイデンティティ、ファシリティ、レベル)。
--silent-restart-status=値、 "静けさ 再起動 状態"
明示的に再起動を要求するために子によって使用される戻り値 (次の場合は機能が無効になります)
指定されていない)。
--silent-restart-time=秒、 "静けさ 再起動 時間"
明示的な再起動要求の後、子を再起動するまでの待機時間。
--統計、 「統計」
コマンドの終了時に統計を生成します (--verbose によって暗示されます)。
--統計なし
コマンドの終了時に統計を生成しません。
ロギング ターゲット
ロギング ターゲットは、ターゲット名とそのオプションのパラメータで区切って指定します。
コロン (「:」)。
可能なターゲット構成は次のとおりです。
無視する 出力は単に破棄されます。
(Linuxで言うところのstdout) 出力は標準出力ストリームに送られます。
stderr 出力は標準エラー ストリームに送られます。
ファイル:ファイル名
出力はファイル「filename」に送られます。
syslog:アイデンティティ、ファシリティ、レベル
出力は、指定された ID (ロガーを識別する文字列) で syslog に送信されます。
施設(参照 syslog(3)) およびレベル (参照 syslog(3))。
CONFIGURATION FILE
設定ファイルは、一連の「key = value」行です。 空行と行
「#」で始まる文字列は無視されます。
使用可能なキーは、対応するキーの隣の「オプション」セクションにリストされています。
コマンドラインスイッチ。
ブール値 (yes/no) は、「yes」、「no」、「true」、「false」、「0」、および「1」の値を取ることができます。
例
# 通常通りコマンドを実行する
launchtool -t タグ 'エコー "Hello, world!"'
# 失敗した場合は再起動するコマンドを実行します。
launchtool -t tag --wait-times=1,1,1,3,3,3,10,10,10 'my_wonderful_server'
# 制限付きでコマンドを実行し、失敗した場合はデーモンとして再起動します
launchtool -t myserver -d --user=myserver --chroot=/var/myserver \
--limit-process-count=5 --limit-open-files=10 \
--wait-times=1,1,1,3,3,3,10,10,10 \
--infinite-runs --stats \
--log-launchtool-output=syslog:myserver,LOG_DAEMON,LOG_INFO \
--log-launchtool-errors=syslog:myserver,LOG_DAEMON,LOG_ERR \
--log-child-output=syslog:myserver,LOG_DAEMON,LOG_INFO \
--log-child-errors=syslog:myserver,LOG_DAEMON,LOG_ERR \
「私の実験サーバー」
# 同じこと、設定ファイルを使用する
タグ = 私のサーバー
コマンド = my_wonderful_server
デーモン = はい
統計 = はい
ユーザー = 私のサーバー
ルートディレクトリ = /var/myserver
プロセス数制限 = 5
開いているファイルの制限 = 10
待ち時間 = 1,1,1,3,3,3,10,10,10
無限実行 = はい
launchtool の出力 = syslog:myserver,LOG_DAEMON,LOG_INFO
launchtool エラー = syslog:myserver,LOG_DAEMON,LOG_ERR
コマンド出力 = syslog:myserver,LOG_DAEMON,LOG_INFO
コマンドエラー = syslog:myserver,LOG_DAEMON,LOG_ERR
# ポーリングデーモンでシェルコマンドを変換する
# 携帯電話が存在する場合にのみファイル /tmp/have_mobile が存在するようにします。
# IRDA 検出リスト
launchtool -t celldetect -d --silent-restart-time=5 --silent-restart-status=0 --user=nobody \
「if grep -q SIEMENS /proc/sys/net/irda/discovery; then touch /tmp/have_mobile; else rm -f /tmp/have_mobile; fi ; exit 0」
# celldetect デーモンが実行されているかどうかを確認する
launchtool -t celldetect --check
# 上記のコマンドで起動した celldetect デーモンを強制終了します
launchtool -t celldetect -k
# 実行可能構成ファイルを使用した同じポーリング デーモン
#!/usr/bin/launchtool -C
タグ = セル検出
コマンド = if grep -q SIEMENS /proc/sys/net/irda/discovery; 次に /tmp/have_mobile をタッチします。 それ以外の場合は rm -f /tmp/have_mobile; フィ; 0番出口
デーモン = はい
ユーザー = 誰も
サイレント再起動時間 = 5
サイレント再起動ステータス = 0
# 実行可能構成を使用して、celldetect デーモンが実行されているかどうかを確認します
# ファイル
celldetect --check
# 実行可能構成ファイルを使用して celldetect デーモンを強制終了します
セル検出 -k
onworks.net サービスを使用してオンラインで launchtool を使用する