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

init.dディレクトリには、Linuxシステム上のさまざまなサービス用の多数の開始/停止スクリプトが含まれています。

6
「reboot」または「shutdown -r now」:どの再起動コマンドの方が安全ですか?
組織には約500台のRedHat Linuxマシンがあります。 すべてのマシンで/etc/init.d、アプリケーションとサービスを、およびOracle RACサーバーの下にインストールしました。すべてのマシンでyumの更新を実行し、その後再起動します。 だから私はどのコマンドがより安全か疑問に思っていました: reboot または shutdown -r now

6
古いinitスクリプトをsystemdで動作させる最も簡単な方法は何ですか?
新しいsystemdスクリプトを作成して正しいことをしたくありません。systemdを使用しているOSにシステムをアップグレードしたので、古いinitスクリプトを再び動作させたいだけです。 initスクリプトの変換方法とsystemdスクリプトの作成方法について簡単に調査しましたが、適切に学習し、正しく実行するには数時間かかると確信しています。 現在の状況は次のとおりです。 systemctl start solr Failed to start solr.service: Unit solr.service failed to load: No such file or directory. そして: sudo service solr start Failed to start solr.service: Unit solr.service failed to load: No such file or directory. 今、私は仕事に戻りたいだけです。これを再び機能させるための抵抗が最も少ない経路は何ですか? 更新情報 私はこれをすべて理解したくはありませんでした-私は本当にしませんでした-しかし、私はしなければならないし、私の最初の手がかりを見つけました: sudo systemctl enable solr Synchronizing state for solr.service …
48 init.d  systemd 

4
Linux init.d / rc.dスクリプトからエラーメッセージを見つける方法
Linuxでは、ブート中に実行されるスクリプトをいくつか作成し、それらをインストールするさまざまな方法を試しました。大きなスクリプト/etc/init.dの場合は、適切な/etc/rc.d/rc?.dランレベルを入力してリンクします。小さいスクリプトについては、に追加し/etc/rc.d/rc.localます。このプロセスはスムーズに実行されているようです。 今、スクリプトの1つを調整しましたが、失敗しています。エラー出力をキャプチャできないように見えるため、それを診断するのにかなり時間がかかります。私はチェック/var/log/messagesして残りの部分を調べまし/var/logたが、使用できるものが見つかりません。 誰か知っていますか: これらのエラーメッセージはどこかに自動的にキャプチャされますか? そうでない場合、init.dスクリプトからstdout / stderrをキャプチャするにはどうすればよいですか? 前もって感謝します。
28 linux  logging  init.d  rc.d 

2
/etc/init.d/からスクリプトを削除/バックアップする方法は?
私はしばらくの間linuxを扱ってきましたが、かなり単純な方法で行ってきました。 init.dOSの起動時にスクリプトが実行されることを理解していますが、どのように動作しますか? スクリプトを保持したいが、自動的に開始したくない場合はどうすればよいですか? 私が持っている/etc/init.d/varnishとし、それを一時的に無効にしたいとします。OSが再起動しても起動しないようにするにはどうすればよいですか?スクリプトを削除したくありません。もう一度追加したい場合はどうすればよいですか?

4
非rootユーザーとしてnginxを実行します
Ubuntu 10.04 Lucid Server http://library.linode.com/web-servers/nginx/installation/ubuntu-10.04-lucidに nginxをインストールするためにこのプロセスに従いました inginスクリプトを作成してnginxを起動し、/ etc / init.d / nginx startを呼び出した後、迷子になりました。私がそれをしたとき、私は次のエラーを受け取りました: Starting nginx_main: Starting /opt/nginx/sbin/nginx... nginx: [alert] could not open error log file: open() "/opt/nginx/logs/error.log" failed (13: Permission denied) 2012/03/16 18:17:27 [emerg] 859#0: open() "/opt/nginx/logs/access.log" failed (13: Permission denied) 私がそれを実行できる唯一の方法は、使用sudoしてプロセスをとして実行する場合でroot、これは望ましくありません。 私はしましchownD」ディレクトリ全体(chown -R nginx:nginx /opt/nginx)と私もしましたchmod -R 755だけでなく、ディレクトリを。 userCS3によって提案されたディレクティブを追加すると、このエラーが発生しますが、追加の行があります。 Starting …

1
サーバーの再起動後にmysqlを自動的に起動する方法(CentOS +その他のディストリビューション)
サーバーがシャットダウン後に起動したときにmysqlを自動的に起動するようにCentOS Linuxサーバーを構成するにはどうすればよいですか? 私はinit.dパスを知っています... /etc/rc.d/init.d ...このフォルダにmysqldが表示されます。このフォルダにアイテムを(つまりシンボリックリンクで)配置すると、サーバーの再起動時にアイテムが起動するはずだと思います。 しかし、これは私には起こりませんでした。 バックグラウンド 中央のITデスクは、週末に仮想化されたCentOSサーバーを再起動しました。サーバーは再起動後に利用できましたが、MySQLデータベースも再起動していませんでした。 考え?
17 linux  mysql  init.d 

2
再起動後にPHP-FPMが自動的に起動しない
PHP-FPMとNginxを実行していますが、何らかの理由でサーバーを再起動する必要がある場合があります。サーバーが再び実行されると、nginxサービスが自動的に開始されますが、PHP-FPMは開始されません。これはsudo /etc/init.d/php-fpm restart、リブート直後にコマンドを実行して結果を取得したときに表示されます。 $ sudo /etc/init.d/php-fpm restart Stopping php-fpm: [FAILED] Starting php-fpm: [ OK ] これは予想される動作ですか?PHP-FPMを自動的に起動する最良の方法は何ですか?どこかに設定オプションがありますか、それともLinux起動スクリプトの1つにコマンドを追加する必要がありますか? ありがとう。

5
init.dによって開始されたプロセスをキープアライブする標準または最良の方法
init.dシェルスクリプトによって起動されたデーモンを存続させるための標準的な方法またはベストプラクティスを探しています。 またはさらに良いことに、それを直接生き続ける方法はあり/etc/init.dますか? 具体的には、dtndと呼ばれるデーモンと、予期しない終了したプロセスを探す無限ループがあり、デーモンがあればそれらを再度起動します。また、特定のシステムユーザーから実行するように歳差運動を許可するために、start-stop-daemonツールを使用します。 スタートアップからこのdtndデーモンを実行したいです。この動作を実現するために、start、stop、statusコマンドを使用してdtndファイルを「ラップ」するinit.dスクリプトを作成しました。 解決したい2つの質問があります。 init.dからいくつかのプロセスをキープアライブにする方法はありますかシェルスクリプト。標準/最善の方法はありますか? プロセスを無限ループで生かしておくことをお勧めしますか?私はそれrespawnを達成するためにいくつかのコマンドを使用する方が良いと思います。あたりです? respawnコマンドの存在について知っています。私はそれが私は必要だと思うが、私は間のワークフローを理解していない/etc/init.d/と/etc/init。誰も私を助けることができますか? 私はどちらも成り上がりのinittab(私が使用のみに許されてる必要はありません/etc/init、/etc/init.d、cronおよびシステムツールとしてstart-stop-daemon。私が意味する、唯一のデフォルトのツール) お時間をありがとうございました!

4
別のユーザーとしてスクリプトを開始する
/etc/init.d/にスクリプトを作成しました。このスクリプトは、他の(ルート以外の特権を持つ)ユーザーからホームディレクトリから他のスクリプトをいくつか実行する必要があります。 これらのスクリプトを次のもので起動します。 sudo -b -u <username> <script_of_a_particular_user> そしてそれは動作します。ただし、実行を継続するすべてのユーザースクリプト(ウォッチドッグなど)には、対応する親sudoプロセスが表示されますが、まだ生きており、rootとして実行されています。これにより、アクティブプロセスリストに混乱が生じます。 したがって、私の質問は次のとおりです。既存のbashスクリプトから別のユーザーとして別のスクリプトを起動(フォーク)して、孤立した(スタンドアロン)プロセスのままにするにはどうすればよいですか。 より詳細な説明: 私は基本的に、マシン上の他のユーザーに、.startUpと.shutDownという名前のホームディレクトリにあるそれぞれのサブディレクトリにある実行可能ファイルを実行することにより、システム起動またはシステムシャットダウン時に実行する手段を提供しようとしています。他の手段を見つけられなかったので、正確にそれを行うbashスクリプトを作成し、(スケルトンの例に従って)/etc/init.d/でサービススクリプトとして構成しました。 start引数を使用すると、.startUpディレクトリからすべてを起動し、stop引数を指定して実行すると、すべてのユーザーの.shutDownディレクトリからすべてを起動します。 あるいは、この問題を解決するために既存のソリューションを使用できたのかどうかにも興味があります。 更新 私は少し見て回ったところ、この質問を見つけました:https : //unix.stackexchange.com/questions/22478/detach-a-daemon-using-sudo そこに受け入れられた答え、使用する:sudo -u user sh -c "daemon & disown %1"、私のために働く。しかし、私は%1を否認せずに試しましたが、それは同じです。だからこれは私が期待したように私のために働くものです: sudo -u <username> bash -c "<script_of_a_particular_user> &" 私の追加の質問は、なぜそれが否認せずに機能するのかということです。とにかく、何らかの潜在的な特別なケースのために、私はまだdisownコールを離れるべきですか? 更新2 どうやらこれも動作します: su <username> -c "<script_of_a_particular_user> &" この呼び出しとsudo呼び出しに違いはありますか?これは潜在的にまったく異なる質問であることを知っています。しかし、私はこのトピックのために自分で答えをここで見つけているので、誰かがこれをここで明確にすることができます。 更新3 suまたはsudoを使用したこれらのメソッドはどちらも、マシンの起動後に新しいstartparプロセス(rootとして実行される単一プロセス)を生成します。プロセスリストに次のように表示されます。 startpar -f -- <name_of_my_init.d_script> なぜこのプロセスが生まれたのですか?他のinit.dスクリプトではこのプロセスが実行されていないため、明らかに私は何か間違ったことをしています。 更新4 …
12 linux  debian  bash  sudo  init.d 

5
終了後にプロセスを自動的に再起動するにはどうすればよいですか?
Debian Squeezeボックスで終了した後に再起動したいgolangプログラムがあります。問題は、Apache 2 mod_proxyセットアップの背後でHTTPを提供することです。プロセスが失敗するとは思わないが、それに対して何らかの保険をかけたい。 Ubuntuでは、upstartを使用してプロセスを維持していました。Debianは、initの代替品であるため、私が理解していることからUpstartが好きではありません。 Squeezeで動作し、initで適切に動作する、終了後に1つ以上のプロセスを再起動する代替手段はありますか?

1
status_of_procとは何ですか?どのように呼び出しますか?
Debian 7(Wheezy)のnginxのinitスクリプトで、次の抜粋を読みました。 status) status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; このコードは問題なく実行され、sudo service nginx status出力されます[ ok ] nginx is running。しかしstatus_of_proc、bashでもダッシュでも定義されていません。 $ type status_of_proc status_of_proc: not found nginxスクリプトに同じチェックを挿入すると、次の結果が得られました。 status_of_proc is a shell function また、initファイル自体でbashを実行すると、さらに説明が得られます。 status_of_proc is a function status_of_proc () { local pidfile daemon name status OPTIND; …

3
initスクリプトからデーモンとして任意のプログラムを実行する
Red Hatでプログラムをサービスとしてインストールする必要があります。自身の背景、PIDファイルの管理、独自のログの管理は行いません。実行され、STDOUTおよびSTDERRに出力されます。 ガイドとして標準のinitスクリプトを使用して、以下を開発しました。 #!/bin/bash # # /etc/rc.d/init.d/someprog # # Starts the someprog daemon # # chkconfig: 345 80 20 # description: the someprog daemon # processname: someprog # config: /etc/someprog.conf # Source function library. . /etc/rc.d/init.d/functions prog="someprog" exec="/usr/local/bin/$prog" [ -e "/etc/sysconfig/$prog" ] && . "/etc/sysconfig/$prog" lockfile="/var/lock/subsys/$prog" RETVAL=0 check() { [ …
10 redhat  service  init.d 

4
Pythonで書かれたinit.dスクリプト
質問がStackOverflowの上に来た書き込みについて尋ねinit.dPythonでスクリプトを。1つのコメントは、これらのスクリプトはPythonではなくシェルでプログラムする必要があることを示しています。init.dPythonでスクリプトを書いています: 悪い。悪い。悪い。絶対にしないでください。 推奨される方法ではありません。 はい、注意点があります。 レガシードグマ。 まったく問題ありません。 悪夢のようなシナリオを知っているか、このルールが一部のシステム管理者の血に書かれているかどうかは、素晴らしいことです。
10 linux  python  init.d 

2
/etc/init.dスクリプトのデーモンへの呼び出しがブロックされており、バックグラウンドで実行されていません
デーモン化したいPerlスクリプトがあります。基本的に、このperlスクリプトは30秒ごとにディレクトリを読み取り、見つかったファイルを読み取ってからデータを処理します。ここで簡単にするために、次のPerlスクリプト(synpipe_serverと呼ばれ、このスクリプトのシンボリックリンクがにあります)を検討してください/usr/sbin/。 #!/usr/bin/perl use strict; use warnings; my $continue = 1; $SIG{'TERM'} = sub { $continue = 0; print "Caught TERM signal\n"; }; $SIG{'INT'} = sub { $continue = 0; print "Caught INT signal\n"; }; my $i = 0; while ($continue) { #do stuff print "Hello, I am running " . …
9 linux  unix  daemon  init.d 

2
サービスを開始または停止した後、systemdにサービスのステータスを表示させることはできますか?
systemdにinit.dスクリプトの機能を実行させ、開始または停止のコマンドを手動で指定した後、サービスのステータスを自動的に表示しようとしています。これはどういうわけか可能ですか? systemdはバックグラウンドで実行されているため、残念ながらすぐにポップアップし、ステータスを表示するために2番目のコマンドを実行する必要があります。 すなわち。取得しようとしています service nginx status 私がした後に自動的に実行する service nginx start または service nginx restart (または脳で損傷したsystemd、 systemctl start nginx.service)
8 init.d  systemd 

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