これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド デーモンです。
プログラム:
NAME
デーモン - 他のプロセスをデーモンに変える
SYNOPSIS
使用法: デーモン [オプション] [--] [cmd arg...]
オプション:
-h、--help - ヘルプ メッセージを出力して終了します。
-V, --version - バージョン メッセージを出力して終了します。
-v, --verbose[=level] - 詳細レベルを設定します
-d, --debug[=level] - デバッグ レベルを設定します
-C, --config=path - システム構成ファイルを指定します
-N、--noconfig - システム構成ファイルをバイパスします
-n, --name=name - 単一の名前付きインスタンスを保証します
-X, --command=cmd - クライアントコマンドをオプションとして指定します
-P, --pidfiles=/dir - 標準の pidfile の場所をオーバーライドします
-F, --pidfile=/path - 標準の pidfile 名と場所をオーバーライドします。
-u, --user=user[:[group]] - クライアントを user[:group] として実行します
-R, --chroot=path - root としてパスを使用してクライアントを実行します
-D, --chdir=path - ディレクトリ パスでクライアントを実行します
-m, --umask=umask - 指定された umask を使用してクライアントを実行します
-e, --env="var=val" - クライアント環境変数を設定します
-i, --inherit - 環境変数を継承します。
-U、--unsafe - 安全でない実行可能ファイルの実行を許可します
-S、--safe - 安全でない実行可能ファイルの実行を拒否します。
-c、--core - コアファイルの生成を許可します
-r、--respawn - クライアントの終了時にクライアントを再生成します。
-a, --acceptable=# - 許容可能なクライアントの最小継続時間 (秒)
-A, --attempts=# - 遅延する前にエラーが発生したときに # 回再生成します
-L, --lay=# - スポーン試行バースト間の遅延 (秒)
-M, --limit=# - スポーン試行バーストの最大数
--idiot - アディオット モード (上記で root を信頼します)
-f、--foreground - クライアントをフォアグラウンドで実行します
-p, --pty[=noecho] - クライアントに擬似端末を割り当てます
-l, --errlog=spec - デーモンのエラー出力を syslog またはファイルに送信します
-b, --dbglog=spec - デーモンのデバッグ出力を syslog またはファイルに送信します
-o, --output=spec - クライアントの出力を syslog またはファイルに送信します
-O, --stdout=spec - クライアントの stdout を syslog またはファイルに送信します
-E, --stderr=spec - クライアントの標準エラー出力を syslog またはファイルに送信します
--running - 名前付きデーモンが実行されているかどうかを確認します
--restart - 名前付きデーモンクライアントを再起動します
--stop - 名前付きデーモンプロセスを終了します
DESCRIPTION
デーモン(1) 他のプロセスをデーモンに変えます。 しなければならないタスクがたくさんあります
デーモンプロセスを正しく設定するために実行されます。 これは面倒かもしれません。 デーモン これらを実行します
他のプロセスのタスク。
準備作業としては、 デーモン 他のプロセスに対して実行されるのは次のとおりです。
· まず、setuid または setgid 権限を取り消します。 デーモン でインストールされている可能性があります
(危険を前にして笑うシステム管理者による)。
· プロセスのコマンド ライン オプション。
· --chroot オプションが指定されている場合は、ルート ディレクトリを変更します。
· --user オプションが指定されている場合は、プロセスの uid と gid を変更します。 のみ ルート 使用することができます
このオプション。 の uid に注意してください デーモン 単に変化するのではなく、それ自体が変化する
クライアントプロセスのuid。
· システム構成ファイル (デフォルトでは /etc/daemon.conf、または
--config オプション)、--noconfig オプションが指定された場合を除きます。 次に、ユーザーのメッセージを読みます。
設定ファイル (~/.daemonrc)、あれば。 汎用オプションが最初に処理され、次に
指定された名前のデーモンに固有のオプション。 注意: 当学校区の ルート ディレクトリにジョブを開始します。
user しなければなりません be セッションに アクセス 〜へ の監視 file できる be 試みた so どちらもありません
--chroot また - ユーザー オプション かもしれません 現れる in の監視 ファイルにソフトウェアを指定する必要があります。
· コア ファイルの生成を無効にして、デーモン実行時の機密情報の漏洩を防止します。
by ルート (--core オプションが指定された場合を除く)。
· デーモン プロセスになる:
・ もしも デーモン によって呼び出されませんでした INIT(8) or inetd(8):
· プロセスをバックグラウンドで処理し、プロセス グループのリーダーシップを失います。
· 新しいプロセス セッションを開始します。
・ 下 SVR4、プロセスを再度バックグラウンドにして、プロセス セッションのリーダーシップを失います。
これにより、プロセスが制御端末を取得することがなくなります。 これだけ
SVR4 が定義されており、NO_EXTRA_SVR4_FORK が定義されていない場合に発生します。
リブスラック(3) がまとめられています。 これを行う前に、SIGHUP を無視してください。
セッション リーダーが終了すると、フォアグラウンド プロセス グループ内のすべてのプロセスが終了します。
SIGHUPシグナルを送信した(らしい)。 このコードは実行されない可能性があることに注意してください (例:
によって始められたとき INIT(8) or inetd(8) または、SVR4 が定義されていない場合、または
NO_EXTRA_SVR4_FORK が定義されたのは リブスラック(3) まとめられました)。 この意味は
クライアントは SIGHUP ハンドラーについていかなる仮定も行うことはできません。
· アンマウントを妨げないように、ディレクトリをルート ディレクトリに変更します。
· umask をクリアして、明示的なファイル作成モードを有効にします。
· 開いているすべてのファイル記述子を閉じます。 もし デーモン によって呼び出されました inetd(8)、標準入力、標準出力
および stderr はソケットに対してオープンされているため、オープンされたままになります。
· 何かが必要な場合に備えて、stdin、stdout、stderr を /dev/null に開きます。
開ける。 もちろん、次の場合にはこれは行われません。 デーモン によって呼び出されました inetd(8).
· --name オプションが指定された場合は、プロセスを含むファイルを作成してロックします。
のID デーモン プロセス。 このロックされたファイルの存在により、XNUMX つのインスタンスが阻止されます。
同じ名前のデーモンが同時に実行されないようにします。 標準
pidfileの場所は / var / run の ルート or / tmpに 一般ユーザー向け。 もし
--pidfiles オプションが指定されました。その引数は、ファイルが保存されているディレクトリを指定します。
pidfileが配置されます。 --pidfile オプションが指定された場合、その引数
pidfile の名前とそれを配置するディレクトリを指定します。
· --umask オプションが指定された場合は、umask をその引数に設定します。 それ以外の場合は、
umask を 022 に設定して、クライアントが誤って書き込み可能なグループまたはワールドを作成しないようにします。
ファイル。
· --chdir オプションが指定された場合は、現在のディレクトリを設定します。
· クライアント コマンドを生成し、終了するまで待ちます。 クライアント コマンドは次のとおりです。
コマンドライン引数または --command オプションの引数として指定します。 もし
--command オプションとコマンド ライン引数の両方が存在する場合、クライアント コマンド
コマンドライン引数を --command の引数に追加した結果です
オプションを選択します。
· --syslog、--outlog、および/または --errlog オプションが指定された場合、クライアントの標準
出力および/または標準エラーは次のようにキャプチャされます。 デーモン そしてそれぞれに送信されました syslog
行き先
· クライアントが終了すると、 デーモン --respawn オプションが指定されている場合は、それを再生成します。
クライアントの実行時間が 300 秒未満 (または --acceptable オプションの値) の場合、
その後 デーモン これをエラーとして認識します。 最大 XNUMX 回までクライアントの再起動が試行されます。
回 (または --attempts オプションの値) 待った後、300 秒 (または
--lay オプションの値)。 これにより、管理者に修正の機会が与えられます
システム リソースに過負荷をかけずにクライアントを実行することを妨げているもの。
--limit オプションが指定された場合、 デーモン 指定された回数が経過すると終了します
スポーン試行バースト。 デフォルトはゼロで、決して諦めず、決して降参しないことを意味します。
クライアントが終了し、 --respawn オプションが指定されていない場合、 デーモン
終了します。
・ もしも デーモン SIGTERM シグナルを受信すると、そのシグナルをクライアントに伝播してから、
終了します。
・ もしも デーモン (別の呼び出しから) SIGUSR1 シグナルを受信します。 デーモン 付属
--restart オプション)、SIGTERM シグナルをクライアントに送信します。 で始めた場合
--respawn オプションを使用すると、クライアント プロセスは、
SIGTERM 信号。
· --foreground オプションが指定された場合、クライアント プロセスはフォアグラウンドとして実行されます。
プロセスであり、デーモンにはなりません。 もし デーモン 端末に接続されているため、
クライアントプロセス。 もし デーモン 端末に接続されていませんが、クライアントは端末に接続する必要があります
端末に接続するには、--pty オプションを使用します。
OPTIONS
-h、-help
ヘルプメッセージを表示して終了します。
-V、-version
バージョンメッセージを表示して終了します。
-v[レベル]、--冗長[=レベル]
メッセージの冗長レベルを次のように設定します。 レベル (または 1 の場合 レベル は付属しません)。 デーモン ありません
詳細なメッセージがないため、 --running オプションが指定されていない限り、これは効果がありません。
供給。
-d[レベル]、 --debug[=レベル]
デバッグ メッセージ レベルを次のように設定します。 レベル (または 1 の場合 レベル は付属しません)。 レベル 1 トレース
高レベルの関数呼び出し。 レベル 2 は、下位レベルの関数呼び出しをトレースして表示します。
構成情報。 レベル 3 では環境変数を追加します。 レベル 9 は次ごとに追加します
からの戻り値 select(2) 出力に。 デバッグメッセージが宛先に送信されます
--dbglog オプションで指定 (デフォルトでは、 syslog(3) ファシリティ、デーモン.debug)。
-C path、 --config=path
使用する設定ファイルを指定します。 デフォルトでは、/etc/daemon.conf は
設定ファイルが存在するが、グループまたはワールド書き込み可能ではなく、存在しない場合
グループまたは誰でも書き込み可能なディレクトリ内。 構成ファイルを使用すると、事前に定義できます
すべてのクライアントと特定の名前のクライアントに適用されるオプション。
-N、--noconfig
システム構成ファイル /etc/daemon.conf をバイパスします。 ユーザーのみの ~/.daemonrc
設定ファイルが読み取られます (存在する場合)。
-n 名、 --name=名
pid ファイルを作成してロックします (/var/run/名.pid) を使用して、デーモンが XNUMX つだけであることを確認します。
与えられた 名 同時に活動中です。
-X CMD、--コマンド=CMD
クライアントコマンドをオプションで指定します。 コマンドをその名前とともに指定した場合
設定ファイル内でデーモンを指定するだけでデーモンを起動できます。
名前:
デーモン --name ftumpch
注意: 構成ファイルでクライアント コマンドを指定すると、シェルは存在しません。
機能が利用可能です (つまり、メタ文字はありません)。
-P / dir、 --pidfiles=/ dir
標準の pidfile の場所をオーバーライドします。 標準の pidfile の場所はユーザーです。
依存: ルートの pidfile は /var/run にあります。 通常のユーザーの pidfile は /tmp に存在します。 これ
オプションは --name オプションと一緒にのみ使用できます。 これらの場所が次の場合にこのオプションを使用します。
受け入れられませんが、pidfile をどこに置いたかを忘れないように注意してください。 このオプション
コマンドラインではなく、設定ファイルまたはシェルスクリプトで使用するのが最適です。
-F /道、 --pidfile=/道
標準の pidfile 名と場所をオーバーライドします。 標準の pidfile の場所は次のとおりです。
すぐ上に説明しました。 標準の pidfile 名は --name の引数です。
オプションの後に .pid を付けます。 標準の pidfile 名と場所が次の場合にこのオプションを使用します。
受け入れられませんが、pidfile をどこに置いたかを忘れないように注意してください。 このオプション
コマンドではなく、構成ファイルまたはシェル スクリプト内でのみ使用する必要があります。
ライン。
-u ユーザー・グループ]]、 --user=ユーザー・グループ]]
クライアントを別のユーザー (およびグループ) として実行します。 これは次の場合にのみ機能します ルート。 もし
引数には次のものが含まれます :グループ 指定子、 デーモン 指定されたグループを仮定しますが、
他の。 さもないと、 デーモン は、指定されたユーザーが属するすべてのグループを想定します。
下位互換性、「.」 ユーザーとグループを区切るには、「:」の代わりに使用できます。
しかしそれ以来 "。" ユーザー名とグループ名に使用される場合がありますが、次のようにあいまいさが生じる可能性があります。
--user =うーん ユーザーと一緒に u うーん とグループ g。 そんな曖昧なままで、 デーモン 意志
ユーザーを想定する u とグループ g。 --user= を使用しますうぐ: 代わりに、別の解釈をします。
-R path、 --chroot=path
ルートディレクトリを次のように変更します path クライアントを実行する前に。 一部のシステムでは、
ルート これはできます。 クライアント プログラムと構成へのパスに注意してください。
ファイル (存在する場合) は、新しいルート パスからの相対パスである必要があります。
-D path、--chdir=path
ディレクトリをに変更します path クライアントを実行する前に。
-m umask、--umask=umask
umask を次のように変更します umask クライアントを実行する前に。 umask 有効な XNUMX 進数モードである必要があります。
デフォルトの umask は 022 です。
-e var = val、 --env=var = val
クライアントプロセスの環境変数を設定します。 このオプションは任意の数で使用できます
何度も。 これを使用すると、指定された環境変数のみが
クライアントプロセス。 それ以外の場合、クライアント プロセスは現在の環境セットを継承します。
変数。
-i、--継承
環境変数を明示的に継承します。 これは、 --env オプションが指定されている場合にのみ必要です。
使用済み。 このオプションを使用すると、 --env オプションが継承された環境に追加されます。
交換するのではなく。
-U、--安全ではありません
安全でない構成ファイルの読み取りと、安全でない実行可能ファイルの実行を許可します。 あ
構成ファイルまたは実行可能ファイルがグループまたは誰でも書き込み可能であるか、または
グループまたは誰でも書き込み可能なディレクトリ (シンボリック リンクをたどる)。 実行可能ファイルの場合
別の実行可能ファイルによって解釈されるスクリプトである場合、安全ではないと見なされます。
通訳は安全ではありません。 通訳者であれば、 / usr / bin / env (引数が
$PATH で検索されるコマンド名) の場合、そのコマンドは安全である必要があります。 デフォルトでは、
デーモン(1) 安全でない設定ファイルの読み取りや、安全でないファイルの実行を拒否します。
によって実行されると実行可能 ルート。 このオプションはその動作をオーバーライドするため、
決して使用しないでください。
-S、--安全
安全でない構成ファイルの読み取りと安全でない実行可能ファイルの実行を拒否します。 による
デフォルト、 デーモン(1) 安全でない設定ファイルの読み取りと実行が許可されます。
一般ユーザーが実行すると安全ではない実行可能ファイル。 このオプションはその動作をオーバーライドします。
-c、--core
クライアントがコア ファイルを作成できるようにします。 これはデバッグにのみ使用してください。
によって実行されるデーモンにセキュリティ ホールが発生する可能性があります。 ルート.
-r、--respawn
クライアントが終了したときにクライアントを再起動します。
-a #、 --acceptable=#
クライアントプロセスの最小許容期間を秒単位で指定します。 デフォルト
値は 300 秒です。 次の場合を除き、10 秒未満に設定することはできません。 ルート を特定いたします。
--idiot オプションと組み合わせて使用します。 このオプションは、
--respawn オプション。
これ未満の場合は失敗したとみなされます。
-A #、 -- 試行 =#
遅延する前にスポーンを試行する回数。 デフォルト値は5です。設定できません
100 回を超える試行には次の場合を除きます ルート --idiot と組み合わせて使用した場合
オプション。 このオプションは、--respawn オプションと一緒にのみ使用できます。
-L #、--遅延=#
スポーン試行の各バースト間の遅延 (秒単位)。 デフォルト値は 300 です
秒。 次の場合を除き、10 秒未満に設定することはできません。 ルート で使用する場合
--idiot オプションと組み合わせて使用します。 このオプションは --respawn と一緒にのみ使用できます
オプションを選択します。
-M #、---制限=#
スポーン試行バーストの数を制限します。 デフォルト値はゼロです。これは「いいえ」を意味します。
限界。 このオプションは、--respawn オプションと一緒にのみ使用できます。
- ばか
アホモードをオンにすると、 デーモン 最小値または最大値は強制されません
通常、 --acceptable、--attempts、および --lay オプション引数に課されます。 の
--idiot オプションは、これらのオプションの前に指定する必要があります。 だけ ルート ユーザーは使用できます
このオプションは、わずかな構成ミスが CPU の大量の無駄につながる可能性があるためです。
作業量とログメッセージ。
-f、--foreground
クライアントをフォアグラウンドで実行します。 クライアントはデーモンになりません。
-p[ノエコ]、--pty[=ノエコ]
クライアントを擬似端末に接続します。 このオプションは、
--foreground オプション。 これは、 --foreground オプションが指定されている場合のデフォルトです。
デーモンの標準入力は端子に接続されています。 このオプションは次の場合にのみ必要です。
クライアントプロセスは制御端末に接続する必要がありますが、 デーモン それ自体が持っています
制御端末なしで実行された場合 (例: cron(8) またはパイプライン)。
このオプションで noecho 引数が指定されている場合、クライアント側の疑似
端末は noecho モードに設定されます。 本当に端末がある場合にのみこれを使用してください
関係しており、入力が XNUMX 回エコーされています。
-l スペック、--errlog=スペック
送信する デーモンの標準出力とエラーを syslog の宛先または指定されたファイルに送信します。
スペック。 場合 スペック 「facility.priority」の形式である場合、出力はに送信されます。 syslog(3).
それ以外の場合、出力はパスが指定されたファイルに追加されます。 スペック。 デフォルトでは、
出力は daemon.err に送信されます。
-b スペック、--dbglog=スペック
送信する デーモンのデバッグ出力は、syslog の宛先またはで指定されたファイルに出力されます。 スペック。 場合
スペック 「facility.priority」の形式である場合、出力はに送信されます。 syslog(3)。 さもないと、
出力は、パスが指定されたファイルに追加されます。 スペック。 デフォルトでは、出力は送信されます
daemon.debug に。
-o スペック、-output =スペック
クライアントの標準出力とエラーをキャプチャし、syslog 宛先に送信します。
または指定されたファイル スペック。 場合 スペック 「facility.priority」の形式の場合、出力は次のようになります
に送信された syslog(3)。 それ以外の場合、出力はパスが指定されたファイルに追加されます。
スペック。 デフォルトでは、 --foreground オプションが存在しない限り、出力は破棄されます。 で
この場合、クライアントの stdout と stderr は次のように伝播されます。 デーモンの標準出力と標準エラー出力
。
-O スペック、 --stdout=スペック
クライアントの標準出力をキャプチャし、syslog 宛先またはファイルに送信します。
によって指定された スペック。 場合 スペック 「facility.priority」の形式である場合、出力はに送信されます。
syslog(3)。 それ以外の場合、stdout はパスが指定されたファイルに追加されます。 スペック。 によって
デフォルトでは、 --foreground オプションが存在しない限り、stdout は破棄されます。この場合、
クライアントの標準出力が伝播されます。 デーモンの標準出力。
-E スペック、 --stderr=スペック
クライアントの標準エラーをキャプチャし、指定された syslog 宛先に送信します。
スペック。 場合 スペック 形式は「facility.priority」であり、stderr は次のように送信されます。 syslog(3).
それ以外の場合、stderr はパスが指定されたファイルに追加されます。 スペック。 デフォルトでは、
--foreground オプションが存在しない限り、stderr は破棄されます。この場合、
クライアントの標準エラー出力が伝播される デーモンの標準エラー。
- ランニング
名前付きデーモンが実行されているかどうかを確認し、 終了する(3) EXIT_SUCCESS の場合、
名前付きデーモンが実行されているか、実行されていない場合は EXIT_FAILURE。 --verbose オプションが
提供されている場合は、終了する前にメッセージを出力します。 このオプションは --name と一緒にのみ使用できます
オプション。 --chroot、--user、--name、--pidfiles、および --pidfile (および場合によっては
--config) オプションは、ターゲット デーモンの場合と同じである必要があります。 --running に注意してください。
オプションが別のものであるかどうかを確認するときは、 --pidfile または --pidfiles オプションの前に指定する必要があります。
ユーザーのデーモンが実行中である場合、pidfile ディレクトリに関するエラーが発生する可能性があります。
書き込み可能ではないこと。
- 再起動
名前付きデーモンにクライアント プロセスを終了して再起動するように指示します。 このオプションでできることは、
--name オプションとのみ使用してください。 --chroot、--user、--name、
--pidfiles および --pidfile (および場合によっては --config) オプションは、
ターゲットデーモン。
- ストップ
名前付きデーモンを停止します 終了する(3)。 このオプションは --name オプションと一緒にのみ使用できます。
--chroot、--user、--name、--pidfiles、および --pidfile (および場合によっては
--config) オプションは、ターゲット デーモンの場合と同じである必要があります。
他のすべてのプログラムと同様、 -- 引数はオプションの終了を示します。 あらゆるオプション
コマンドラインで -- の後に表示されます。これらはクライアント コマンドの一部です。
onworks.net サービスを使用してオンラインでデーモンを使用する
