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

SysVinitは、他のすべてのプログラムの起動、実行、シャットダウンを制御する一連のプログラムとスクリプトです。

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スクリプトを削除する必要がありますか?

3
Debianのサービスはどのように機能し、どのように管理できますか?
Windowsにはサービスマネージャーがあり、Windows自体から起動できるすべてのシステムサービスが表示され、使用するユーザーを設定し、権限管理がそこにあり、変数やその他の情報をサービスに渡すことができます。 、それらに名前を付けることができ、1つのプログラムの複製サービスなどを作成できます。したがって、Windowsにはメインの管理ツールがあります。 Linuxでも同じことができますか?起動時に「svnserve」を実行するようにトリガーするにはどうすればよいですか、または特別なコンテキストで実行されるようにサービスを構成するにはどうすればよいですか。すべての「プログラムされた」サービスを表示するにはどうすればよいですか?

3
起動/起動中にスクリプトを実行します。init.d対cron @reboot
現在、システムの起動/起動時にスクリプトを実行するためのinit.dcronとcron の違いを理解しようとし@rebootています。 使用@reboot(このメソッドはで言及されたこのフォーラムによるhs.chandraは)単純に行くことによって、いくつかの何が簡単ですcrontab -eし、作成し@reboot /some_directory/to_your/script/your_script.txtた後、your_script.txtシステムが再起動されるたびに実行されなければなりません。詳細な説明@rebootはこちら または、スクリプトの2行目に埋め込むこと/etc/init.d/your_script.txtにより、次のようにします。 #!/bin/bash # /etc/init.d/your_script.txt 実行することもできますが、システムが起動するたびに実行されるchmod +x /etc/init.d/your_script.txtことにもなりyour_script.txtます。 Q1: 2つの主な違いは何ですか?Q2:どちらがより堅牢ですか?Q3: 2つのうち、より良いものはありますか?Q4:これは、起動中に実行するスクリプトを埋め込む正しい方法ですか? 起動時に実行するbash .shファイルを組み込みます。

1
SystemDサービスのステータス「アクティブ(終了)」とはどういう意味ですか?
thisismywebserverと呼ばれるWebサーバーを基本的に実行するカスタムサービスを使用しています。現在、機能していません(つまり、ページにアクセスしようとすると「接続できません」というエラーが表示されます)。 このコマンドを実行しservice thisismywebserver statusてサービスのステータスを確認すると、ステータスが「アクティブ(終了)」であることがわかります。これは、サービスが機能しなくなったことを意味しますか?そうでない場合、これはどういう意味ですか? root@thisismywebserver-testing:~# service thisismywebserver status ● thisismywebserver.service - LSB: ThisIsMyWebServer server Loaded: loaded (/etc/init.d/thisismywebserver) Active: active (exited) since Sun 2015-11-08 23:01:33 EST; 18h ago Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

2
systemdサービスのタイムアウト値を変更するには?
私が現在働いている会社では、レガシーサービスがあり、その初期化スクリプトは古いSysvInitを使用していますが、systemd(CentOS 7)で実行されています。 多くの計算があるため、このサービスは終了するのに約70秒かかります。systemdのタイムアウトを設定せず、デフォルトの設定を変更しませんでした/etc/systemd/system.confが、それでもservice SERVICE stopサービスを実行すると60秒後にタイムアウトになります。 journalctl -b -u SERVICE.service私はこのログを見つけて確認します: Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255 Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED] 既にDefaultTimeoutStopSecプロパティを/etc/systemd/system.conftoに変更しようとしました90sが、タイムアウトが発生します。 なぜ60秒でタイムアウトするのですか?このタイムアウト値が設定されている他の場所はありますか?確認する方法はありますか? このサービスはjava 7で実行され、デーモン化するためにJSVCを使用します。-wait値を使用してパラメーターを構成しました120。

4
Linuxの「/etc/init.d」ディレクトリと「/etc/rcX.d」ディレクトリ間の接続は何ですか?
「Linux Command Line and Shell Scripting Bible、Second Edition」という本からコマンドラインを学んでいます。本はこれを述べています: 一部のLinux実装には、起動時に自動的に開始するプロセスのテーブルが含まれています。Linuxシステムでは、このテーブルは通常、特殊ファイル/ etc / inittabsにあります。 他のシステム(人気のあるUbuntu Linuxディストリビューションなど)は、ブート時に個々のアプリケーションを開始および停止するためのスクリプトを含む/etc/init.dフォルダーを利用します。スクリプトは、/ etc / rcX.dフォルダーの下のエントリーを介して開始されます(Xは実行レベルです)。 おそらく私はLinuxが初めてなので、引用した2番目の段落の意味を理解できませんでした。誰かがもっと平易な言語で同じことを説明できますか?

5
デーモンのように起動および停止できるように、シェルスクリプトのサービスを作成するにはどうすればよいですか?
私はCentOS 7を使用していますが、目的は5秒ごとにcronを作成することですが、調査したところ、cronを1分間しか使用できないため、今やっていることはシェルファイルを作成したことです。 hit.sh while sleep 5; do curl http://localhost/test.php; done しかし、右クリックして手動でヒットしました。 私が欲しいのは、そのファイルのサービスを作成して、自動的に開始および停止できるようにすることです。 サービスを作成するスクリプトを見つけました #!/bin/bash # chkconfig: 2345 20 80 # description: Description comes here.... # Source function library. . /etc/init.d/functions start() { # code to start app comes here # example: daemon program_name & } stop() { # code to …

4
Linuxでサービスを開始および停止する標準的な方法はありますか?
最近まで、サービスを開始/停止/再起動する簡単で効果的な方法がありました。 service nginx start|stop|restart これは何年も完璧に機能しました...一部のスマートパンツがそれらを改善することを決定し、今ではserviceスクリプトが何もしないDebian / Ubuntuシステムに直面しています(私はsystemctl start nginx.service(はるかに長いもの、オートコンプリート機能なし、...) 私の質問は特にDebianとUbuntuに関するものですが、CentOS / RedHatのディストリビューションもカバーすることも役立ちます。 だから、この運命の変化から私を救うことができる何かがありますか? 明確でない場合、Debian 7.x、8.x、最新のUbuntu LTSおよび非LTSで動作する一貫した方法を探しています。 PS。この特定の質問の範囲外ですが、ソリューションがサービスの有効化および無効化部分もカバーする場合、追加の称賛が与えられます。

3
Systemdとプロセスの生成
通常はここに投稿しないでくださいが、私はこの髪の毛を切り取っています。起動時に分岐し、他のプロセスの束を開始するPythonスクリプトがあります。このスクリプトは、起動時にsysvinitを介して起動されていましたが、最近Debian Jessieにアップグレードしたため、systemdを介して起動するように適合させました。 残念ながら、解決できない問題に直面しています。ユーザーシェルでスクリプトを直接起動すると、その子プロセスが正しく起動され、スクリプトが終了すると、子プロセスは孤立して実行を継続します。 systemdを介して起動した場合、親プロセスが終了すると、子もすべて終了します(まあ、画面はダイで起動し、死んでいるように見えますか?) 理想的には、すべての子プロセスを強制終了せずに親スクリプトを再起動できる必要がありますが、何か足りないものはありますか? ありがとう! [Unit] Description=Server commander After=network.target [Service] User=serveruser Type=forking PIDFile=/var/Server/Server.pid ExecStart=/var/Server/Server.py ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target 編集:Pythonスクリプトは、本質的にその子プロセスの「コントローラー」であると指摘することはおそらく関連があります。中央サーバーからの要求に応じて、GNU画面でサーバーを起動および停止します。通常は常に実行されており、サービスを生成して終了しません。ただし、プロセスがpid 1に孤立していることを意味する場合でも、子プロセスを強制終了せずにスクリプトをリロードできるようにしたい場合があります。実際、Pythonスクリプトが可能であれば、親プロセス。 仕組みのより良い説明: Systemdは/Server.pyを生成します Server.pyはSystemdのpidファイルを分岐して書き込みます Server.pyは、その指示に基づいてgnu画面にサーバープロセスを生成します Server.pyは、サーバーから要求された再起動を実行するために実行を続けます Systemdを使用せずに起動すると、Server.pyを再起動でき、起動するgnu画面は影響を受けません。Systemdで起動すると、Server.pyがシャットダウンすると、それらのスクリーンプロセスがpid 1に孤立する代わりに、それらは強制終了されます。

2
Debianで/etc/init.dスクリプトがどの順序でロードされるかを調べる方法は?
あるsysvinitスクリプトを別のスクリプトよりも先に実行して、その方法を見つけ出したいと思います。 確認するために、これは実際に私の好きな順序で行われます。リストが表示されます。 私はsudo insserv --showallすでに見つけましたが、initスクリプトを複数回リストするので、頭や尻尾を作ることはできません。 Debianで/etc/init.dスクリプトがどの順序でロードされるかを調べる方法は?

1
カーネルとBusyBoxを備えた最小限のLinux:/ etc / inittabは無視され、/ initのみが実行されます
カーネル(デフォルトオプションでコンパイルされた)とBusyBox(デフォルトオプション+静的でコンパイルされた、すべてのアプレットが存在することを含む/sbin/init)のみを含む、小さくて機能的なライブLinux CDを作成することができました。私が作成する全く問題なかったinitrdと移入を/dev、/procと/sysも私は私と全く問題がなかった/initシェルスクリプト。 最近、BusyBoxが/etc/inittab構成を(少なくともある程度)サポートしていることを読んだので、次のいずれかを実行したいと思います。 私の/initシェルスクリプトを忘れて、完全に/etc/inittab構成に依存します。 /initシェルスクリプトと/etc/inittab設定の両方を使用します。 今実際の問題- /etc/inittab私のディストリビューションが起動するときそれは完全に無視されているようです。症状は次のとおりです。 削除して/initそのままにしておく/etc/inittabと、カーネルパニックが発生します。私の想定では、カーネルはまったく実行さ/sbin/initれないか、または/sbin/init検出(または読み取り)されません/etc/inittab。 BusyBoxがなくても正常に動作することを確認しました/etc/inittab。だから、私は両方を削除/initして/etc/inittab、何を推測-再びパニックカーネル。 私が実行しようとした/sbin/init私のシェルから、付属のいくつかの推測の後exec /sbin/init、setsid /sbin/initそしてexec setsid /sbin/init私は、カーネルパニックになってしまいました。ファイルシステムに/ etc / inittabが存在する場合と存在しない場合の両方。 これが私の/initシェルスクリプトの内容です: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh この時点では/etc/inittab、構成が実際に機能していることを知る方法がある限り、その内容がどうなるかは気にしません。ここで/etc/inittab見つけた情報に基づいて、いくつかの構成を試しました。 最低限、私の/ etc / inittabには次の1行だけが含まれています。 ::sysinit:/bin/sh 繰り返しますが、カーネルパニックに陥り、/etc/inittab無視されたようです。 私の小さなライブディストリビューションをBusyBoxで正常に動作させる方法についての提案/etc/inittabは高く評価されています! 更新: 明確にするために、現在のシェルスクリプトを使用してもしなくても、カーネルパニックの問題は発生しません。それはすべて正常に機能し、コンソールは非常に機能し、予期しない問題は発生しません。上で説明したように、唯一の問題は完全に無視されることです。/init/etc/inittab/bin/ash/etc/inittab …

1
/ var / run内の* .pidファイルの意味/目的は何ですか
私はLinuxの世界では非常に新しいですが、今はFHSの原則を理解しようとしています。 で/var/run、私は10について見つかっ*.pidたファイルのようにcrond.pidこれだけのPIDが含まれています。 システムで実行されているプロセスが10個を超え、ファイルが10個しかない。 では、それらの目的とそれらを生成したものは何ですか?


2
socat initスクリプトをsystemdに移行
私は、debian 7.2でsysVinitを使用して、次のinitスクリプトでsocatを使用しています。それは完全に機能します: #!/bin/bash DESC=socat DAEMON=/usr/bin/socat LIB=/usr/lib/socat SOCAT_ARGS="-d -d -lf /var/log/socat.log" [ ! -f /etc/default/socat.conf ] || . /etc/default/socat.conf . /lib/lsb/init-functions PATH=/bin:/usr/bin:/sbin:/usr/sbin [ -x $DAEMON ] || exit 0 # # Try to increase the # of filedescriptors we can open. # maxfds () { [ -n "$SOCAT_MAXFD" ] || return …

2
Debianベースのディストリビューションでsysvinitをsystemdに置き換える方法は?
私はDebianインストールでsystemdをしばらく使用してきましたが、それを可能にするには、起動パラメーターを/etc/default/grubファイルに追加して動作させる必要があり、それをUbuntuの起動パラメーターに追加しました。Ubuntuにはまだsystemdがインストールされていないため、削除する必要があります。削除しないと、起動できません。だから、私はsysvinitをsystemdで置き換えてブートパラメータを削除する方法を探しています、これをどのように行うのですか?

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