タグ付けされた質問 「init」

initは、UNIXシステムのブートシーケンス中に生成される最初の実際のプロセス(PID 1)です。一部のシステムは、systemdやUpstart(Ubuntu)などの代替ソリューションに依存している場合があります。

6
Upstartとsystemdの長所と短所は何ですか?
表示されますsystemdにはホットな新でINITと同じ、ブロック上のシステム成り上がりは数年前でした。それぞれの長所と短所は何ですか?また、それぞれが他の初期化システムとどのように比較されますか?
183 init  upstart  systemd 

2
systemdは/etc/init.dスクリプトをどのように使用しますか?
私はちょうどdebian jessieに切り替えましたが、グラフィカルディスプレイマネージャーを含め、ほとんどのものは問題なく動作しますwdm。 事は、私はこれがどのように機能するか理解していないだけです。/etc/init.d/wdmスクリプトを呼び出すのは明らかです。なぜなら、私exitがそこに早く入れたとき、wdmが開始されないからです。しかし、代わりに/etc/rc3.dディレクトリーの名前を変更すると(私のデフォルトのランレベルは3でした)、wdmはまだ開始されています。 systemdがこのスクリプトを見つける方法を見つけることができず、他のすべてのinit.dスクリプトに対して何が行われるのか理解できません。 systemdはいつ、どのようにinit.d scripsを実行しますか? 長期的には、すべてのinit.dスクリプトを削除する必要がありますか?


18
シェルを使用してinitシステムを検出する
これは、オペレーティングシステムの検出に関連している可能性がありますが、特にシステムで現在使用されているinitシステムが必要です。 Fedora 15とUbuntuはsystemdを使用するようになり、UbuntuはUpstart(15.04までの長いデフォルト)を使用していましたが、他のものはSystem Vのバリエーションを使用しています。 クロスプラットフォームデーモンになるために書いているアプリケーションがあります。初期化スクリプトは、configureで渡すことができるパラメーターに基づいて動的に生成されています。 私がやりたいのは、彼らが使用している特定のinitシステム用のスクリプトを生成することです。これにより、インストールスクリプトをrootとしてパラメーターなしで合理的に実行でき、デーモンを自動的に「インストール」できます。 これは私が思いついたものです: / binでsystemd、upstartなどを検索します / proc / 1 / commをsystemd、upstartなどと比較します ユーザーに尋ねる これを行う最良のクロス/プラットフォーム方法は何でしょうか? 関連の種類、大部分の* nixにbashを依存させることはできますか、それともディストリビューション/ OSに依存しますか? 対象プラットフォーム: マックOS Linux(すべてのディストリビューション) BSD(すべてのバージョン) Solaris、Minix、およびその他の* nix

5
initは正確に何をしますか?
Linuxディストリビューションを作成していますが、今は初期化プログラムが必要です。私はcでコードを書くことができ、Linuxについてかなりよく知っています(それほど多くはありませんが、4年前から開発にarch linuxを使用していました)。したがって、Cで独自の基本的なinitスクリプトを書いてみようと思いました。ただ疑問に思って、単純なシェル用にシステムをセットアップするためにinitはどのようなタスクを実行しますか?(「initは何をしますか?」 コードは必要なく、基本的なコマンドも必要ないかもしれませんが、実行する順序は必要です。
43 linux  startup  init 

4
子プロセスが親と一緒に死ぬUNIXバリアントはありますか?
Linuxカーネルの動作をかなり長い間研究してきましたが、次のことが常に明らかでした。 プロセス・ダイは、そのすべての子がバックに与えられている場合にはinit、プロセス(PID 1)彼らは最終的に死ぬまで。 しかし、最近、カーネルについて私よりもはるかに多くの経験を持っている人が私に言った: プロセスが終了すると、そのすべての子も死にます(使用NOHUPした場合を除き、子はに戻りますinit)。 今、私はこれを信じていませんが、私はそれを確かめるためにまだ簡単なプログラムを書きました。sleepすべてがプロセスのスケジューリングに依存しているため、テストに時間()に依存するべきではないことを知っていますが、この単純なケースでは、それで十分だと思います。 int main(void){ printf("Father process spawned (%d).\n", getpid()); sleep(5); if(fork() == 0){ printf("Child process spawned (%d => %d).\n", getppid(), getpid()); sleep(15); printf("Child process exiting (%d => %d).\n", getppid(), getpid()); exit(0); } sleep(5); printf(stdout, "Father process exiting (%d).\n", getpid()); return EXIT_SUCCESS; } これはプログラムの出力であり、話すpsたびに関連する結果がありますprintf: $ ./test & …
41 process  init  exit  fork 

5
Debian JessieでXサーバーの自動起動を無効にする方法は?
lightdmがインストールされたDebian 8(Jessie)を実行しているリモートマシンがあります。非GUIモードで起動したいのですが、-Xパラメーターを使用してSSHで実行できるようにするために、X関連のものをすべて削除したくありません。Xサーバーの自動起動を削除せずに無効にする方法は? 私が試したsystemctl stop lightdm、それはlightdmを停止しますが、再起動後に再び実行されます。私も試しましたsystemctl disable lightdmが、基本的には何もしません。/etc/rc*.dディレクトリ内のlightdmのスクリプトの名前を変更しますが、再起動後に起動します。何が間違っていますか?そして、私はただupdate-rc.d lightdm stop、できません。なぜなら、それは非推奨で動作しないからです。


1
systemdはkill -9をどのように生き残りますか?
最近の「コンソールセッションを終了する「-9を殺す」理由」と「カーネルパニックを取得する方法」の質問の間に、サドルの下にバーがありkill -9 1、ほとんど最新のArch Linuxラップトップで試してみました。ユーザーID「root」として実行しました。 何らかのクラッシュ、パニック、またはシャットダウンを完全に予想していましたが、何も起こりませんでした。私がやったkill -9 1効果なしに、再び。 Arch Linuxマシンはsystemd最近実行されているのでsystemd、kill -9をどのように乗り切るのでしょうか?Linux 3.7カーネルには特殊なケースコードがあると思いますが、おそらく考えていない別の理由が存在する可能性があります。 PID 1で実行される他のものはどうですか?Slackwareはまだ使用しているinitと信じていますが、実稼働のSlackwareサーバーで試してみるのは怖いです。ワイヤレスルーターのDD-WRTは、ある種の/ sbin / initを実行します。

2
親がinitである<defunct>プロセスを強制終了するにはどうすればよいですか?
NASで送信が断続的に停止しています。SIGTERMを送信しても、プロセスリストから消えず、その&lt;defunct&gt;横にラベルが表示されます。SIGKILLを送信しても、それは消えませんinit。親はであるため、親を終了できません。プロセスを削除して送信を再開できる唯一の方法は、再起動することです。 私ができる最善のことはTransmissionを試して修正することです(そして試してみました)が、私はコンパイルの初心者であり、それをいじり始める前に私の急流が終わったことを確認したかったです。

2
ゾンビは孤児を持つことができますか?孤児たちはゾンビを刈り取ることによって邪魔されますか?
私が理解しているように、ゾンビプロセスは死んでいますが、親(またはinitゾンビ自体が孤児である場合)が終了ステータスを確認するまで、プロセステーブルにプレースホルダーとして存在しています。 そして、孤立プロセスについての私の理解は、それらはまだ生きていて実行されているが、親が死んだプロセスであるということです。 ゾンビはすでに死んでいるので、その子供は孤児とみなされますよね?彼らはゾンビを刈り取って影響を受けますか?具体的にはinit、ゾンビが刈り取られた後にのみ子としてそれらを採用するか、親がゾンビになるとすぐにそれらを採用しますか?


1
initプロセス:すべてのプロセスの祖先?
initプロセスはすべてのプロセスの祖先であることを常に学びました。プロセス2のPPIDが0になっているのはなぜですか? $ ps -ef | head -n 3 UID PID PPID C STIME TTY TIME CMD root 1 0 0 May14 ? 00:00:01 /sbin/init root 2 0 0 May14 ? 00:00:00 [kthreadd]
26 linux  process  init 

3
initramfsプロンプトでブートを修正し、「マウント: '/ etc / fstab'を読み取れません:そのようなファイルまたはディレクトリがありません」および「initが見つかりません」を修正する方法
単一パーティション専用のGPTパーティションディスク、ext4フォーマット、ブートローダーとしてextlinux(バージョン4.05)、rootfsとしてUbuntu Coreバージョン13.10 amd64、カーネルとしてUbuntu linux-image-3.11.0-18-genericを使用した新しいシステムのインストール、ブートローダ設定を生成するためのextlinux-update。 リブート後の結果(まだKVMベースの仮想マシン内)は、(initramfs)プロンプトとこれらのメッセージです。 mount: can't read '/etc/fstab': No such file or directory mount: mounting /dev on /root/dev failed: No such file or directory mount: mounting /sys on /root/sys failed: No such file or directory mount: mounting /proc on /root/proc failed: No such file or directory The filesystem doesn't …

7
起動時にTomcatを管理者権限で起動します
システムにログインする前に、1つのプロセスを実行する必要があります。サービスのように実行する方法は?Linuxでサービスを作成するにはどうすればよいですか? UbuntuとFedoraで?サービスはカスタマイズされたTomcat
23 startup  init 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.