Telinitはデーモンとして実行されますか?

Telinitはデーモンとして実行されますか?

シスビネットではtelinitシンボリックリンクですinit

initデーモンプロセスとして実行されます。telinitデーモンとして実行されますか?

私のLubuntuにsysvinitがインストールされていません。比較すると、systemctl同様の役割を果たし、制御端末を持っているので、デーモンとして実行されるのではなくデーモンとして実行されます。systemdtelinitinitsystemctlsystemd

ありがとうございます。

答え1

ファイルが他のファイルへのシンボリックリンクであるかどうかは、どのように機能するかに関係ありません。telinit、同様にsystemctl「正常な」プロセスとして実行されます。

答え2

この質問に基づいて、sysvinitでは、'telinit'と'init'は同じプロセスで実行されますか?あなたのプログラムがシンボリックリンクとどのように対話するかについて混乱しているようです。

プログラムに複数の名前(シンボリックリンク、ハードリンク)がある場合は、呼び出し方法に応じて他の操作を実行できます。

たとえば、これは単純なシェルスクリプトです。

$猫x

#!/bin/bash

pname=${0##*/}

case $pname in
   tina) echo "Tina Tuner doesn't need another hero" ;;
   fred) echo "The current date is: $(date)" ;;
  harry) sleep 3 ;;
      *) echo Call me tina or fred or harry
esac

シンボリックリンクがあります:

$ ls -l x tina fred harry
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:47 fred -> x*
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:48 harry -> x*
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:48 tina -> x*
-rwxr-xr-x 1 sweh sweh 217 Dec 19 09:48 x*

これで、呼び出し方法によって異なる結果が得られます。

$ ./tina
Tina Tuner doesn't need another hero
$ ./fred
The current date is: Wed Dec 19 09:50:00 EST 2018
$ ./harry
$ ./x
Call me tina or fred or harry
$ ln -s x something
$ ./something
Call me tina or fred or harry

sysv-initプログラムは同様の操作を行います。これを開始すると、telinitメインプログラムに信号を送信しますinit。起動するとinit(PIDが1の場合は可能ですが、より混乱します)、デフォルトのシステム初期化プロセスから始まります。

telinitそうではありません。いいえデーモンプロセス。

答え3

initはデーモンプロセスとして実行されます。 Telinitはデーモンとして実行されますか?

いいえ、initバイナリはtelinitとして呼び出されると動作が異なります。

関連情報