• ベストアンサー

デーモンを自動起動→tar解凍が行えない

RHEL3を使っています。 とあるデーモンを起動するスクリプトを/etc/rc.d/init.d/に配置し、 chkconfig --addで登録してOS起動時にデーモンが自動起動するようにしています 更に、そのデーモンプロセスからシェルが実行されるのですが そのシェルの中でtar -xvf コマンドでtarファイルを解凍しようとしたとき 解凍が行えず、シェルスクリプトの動作もそのまま止まってしまう現象が発生しています。 現在確認している限りでは、デーモンの起動、シェルの起動は問題なく行えています。 また、デーモンを手動で立ち上げなおせば、tar解凍は問題なく行えるようになります。 以上の現象について、原因、解決方法など 何か情報がありましたら教えていただきたく、宜しくお願いします。

  • BCYS
  • お礼率73% (14/19)

質問者が選んだベストアンサー

  • ベストアンサー
  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.1

標準入力がコンソールになっていないためでは。 tar -xvf hogehoge < /dev/console とかにしてみては。 /dev/consoleはHP-UXでしか使えなかったかな?

BCYS
質問者

お礼

半年以上も放置して申し訳ありません; 結局標準出力の問題でした。 ご回答ありがとうございました。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「tar ファイルを回答しようとする」コマンドがどのような形なのか書いてもらえませんか? あと, 「全く解凍せず」止まってしまうということでよいでしょうか? f でファイルを指定していれば, 標準入力は読まないはず>#1... というか, 「標準入力から読み込む」と明示しない限り tar が標準入力から読むことはないはず.

BCYS
質問者

補足

説明不足で申し訳ありませんでした。 > 「tar ファイルを回答しようとする」コマンドがどのような形なのか書いてもらえませんか? tar -xvf hogehoge.tar > hogehoge.txt 2>&1 という感じです。 > 「全く解凍せず」止まってしまうということでよいでしょうか? 「全く解凍せず」止まってしまいます。 tarコマンドのリターンコードが返って来ている様子もありません (リターンコードが0にせよ0以外にせよ、返って来ればログファイルにログを書き出す仕様になっているのですがそれがないので。)

関連するQ&A

  • 自動起動時のログについて

    現在FedoraCore6にapache-tomcat-5.5.23をインストールしてOS起動時にTomcatを自動起動させようと考えています。 自動起動のシェルスクリプト/etc/rc.d/init.d/tomcatを作成し、コマンドラインからTomcatが起動および終了するのを確認しました。 合わせて、chkconfig --add tomcatのコマンドを実行し、 chkconfig --listコマンドで2,3,4,5レベルがonになっていることを 確認しました。 ですが、OS起動時にTomcatが自動起動しません。 /usr/local/tomcat/logs配下のログファイルには何も出力されていなかったので、おそらくOSがなんらかの理由で自動起動シェルスクリプトを実行しなかったのだと考えています。 で、その関連のログファイルを探しているのですが、見つけることができませんでした。 Linuxの自動起動のログはどこに出力されるのか、教えていただければと思います。 当方、Linuxを始めて1週間程度の素人ですがよろしくお願いいたします。

  • POSTGRES8.2を自動起動したい

    POSTGRES8.2をシェルで自動起動したく、下記のとおり挑戦しています。 cd /etc/init.d/ vi pgsql #!/bin/sh # # chkconfig: 35 86 15 # description: PostgreSQL auto start PGACCOUNT="user1" PG_CTL="/usr/local/pgsql/bin/pg_ctl" . /etc/rc.d/init.d/functions echo "PostgresSQL start:" su - $PGACCOUNT -c "$PG_CTL start -o \"-i\"" そして下記の順番で設定・確認 chmod 755 ./pgsql chkconfig --add pgsql chkconfig pgsql on chkconfig --list pgsql pgsql 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ ここで、 su -l service pgsql とやるとPOSTGRESは起動します。 しかし、再起動してもPOSTGRESが起動してくれないのです。 問題解決の為にご協力をお願いします。

  • Samba(デーモン)が起動しない

    今朝linux(RedHat Enterprise Linux)を起動したら共有がwindowsからみれなくなっていて /etc/rc.d/init.d/smb statusでSamba(デーモン)を確認したら smbdは停止しています。 nmbdは停止していますがPIDファイルが残っています。とでました。 /etc/rc.d/init.d/smb start で smbサービスを起動中:失敗 Nnmbサービスを起動中:OK /etc/rc.d/init.d/smb stop で smbサービスを起動中:失敗 Nnmbサービスを起動中:失敗 とでてしまいます。 きのうネットワーク設定のデフォルトゲートウェイを変更したからでしょうか? 業務ができません こまっています。 どなたか教えていただけないでしょうか。

  • tar.bz2 の解凍について

    お世話になっております。 ubuntu14(x64)を使用してblender-2.70-linux-glibc211-x86_64.tar.bz2を bzip2 -dcblender-2.70-linux-glibc211-x86_64.tar.bz2 | tar xvf -と端末から入力、 、解凍し、そのファイルの中のblenderと言うアイコンをダブルクリックすると、 blenderというソフトが起動します。 起動するのは良いのですが、/home/riot1970/ダウンロードに解凍にしたものですから、 ダウンロードフォルダの中からblender-2.70-linux-glibc211-x86_64フォルダを 開き、blenderと言うアイコンをクリックしなければならなくなりました。 これはこれで気にしなければ使えるだろうし、ubntuソフトウェアセンターからインストール するのが手っ取り早いのは解ってるんですが、 この方法だと、 blenderを日本語化する際文字化けが生じてしまうので、 あえて、blenderの本家サイトからtar.bz2版をダウンロードしました。 本来なら(多分ですが)/etcフォルダの中に解凍したblenderフォルダがあるべきで アプリケーションを閲覧する際にblenderという名前が表示されなければならない筈 なのですが、やり方が良く分かりません。googleで検索かけても、apt getでのインストール 方法しか掲載されておらず、困っております。 皆さんこの手の質問が多く、回答者の方もウンザリかもしれませんが、 bzip2 -dcblender-2.70-linux-glibc211-x86_64.tar.bz2 | tar xvf -というコマンドに 何か付け加えるのでしょうか? それとも解凍したあとに何らかのコマンドを入力すれば良いのでしょうか? 宜しくお願いします。

  • Linux デーモンのpsコマンドでの確認

    RHEL6.2の環境でデーモン起動しているプロセスを監視しようとしています。 ところがchkconfigで起動対象になっているデーモンで、psコマンドでみると存在しないものがいます。 ランレベルはあっていました。 具体的には以下のプロセスです。 ■"chkconfig"onで"ps aux"で表示されるプロセス  ・crond  ・ntpd ■"chkconfig"onかつ"ps aux"で表示されないプロセス  ・kdump  ・netfs  ・lvm2-monitor  ・network "chkconfig"での起動は常に常駐起動しているものかと思っていたのですが、認識が異なるでしょうか? それともコマンドのオプション等の確認方法が間違っていますでしょうか。 または起動に失敗している?? 監視用のスクリプトの都合上、psコマンドでなければ見ない方向にしたいと思います。 初歩的な質問になりますが、ご存じの方がいらっしゃいましたら、情報を頂きたいです。

  • Rubyを使っての tar.gz ファイルの解凍

    いつも、お世話になります。 今現在、cygwin環境下で、tar.gzファイルを解凍しています。 コマンドとしては、 gunzip -d xxxx.tar.gz tar -xvf xxxx.tar これを、Rubyを使って、やりたいと考えています。 方法は、あるのでしょうか? 元々、UNIX環境下で作成されたデータを、PC上のcygwinで解凍、ついでに テキスト処理(shellscript+perl)も実施しております。 gzファイル、tarを解くexeは、きっとどこかにあると思いますので、 rubyに期待するのは、外部コマンドとしての exeを実行できることです。 宜しく、サジェスチョンをお願いいたします。

  • tarにつて

    すいません。tarで圧縮されたfileが30個あるとします。それをシェルで一気に解凍しようと考えてますが ワイルドカードで指定してもtarでエラーがでます。 1個1個やれば問題ないのですが、tarで一気に解凍はむりでしょうか?

  • RedHat ES4でPostgreSQLを自動起動したい

    RedHatにPostgreSQL8.2.3をインストールしました。 インストール自体は他のディストリビューションでも何回も行っているので 特に問題なく終了しました。しかし自動起動がうまくいきません。 /etc/init.d/postgresqlを以下の内容で作成しました。 ----- ここから ----- #!/bin/sh # chkconfig: - 87 13 # description: PostgreSQL8.2 # processname: postmaster # pidfile: /var/run/postgresql.pid pidfile=/var/run/postgresql.pid . /etc/init.d/functions case "$1" in start) su - postgres -c "pg_ctl start" touch $pidfile ;; stop) su - postgres -c "pg_ctl stop -m fast" rm -f $pidfile ;; restart) su - postgres -c "pg_ctl stop -m fast" su - postgres -c "pg_ctl start" ;; *) echo "Usage: /etc/rc.d/init.d/postgresql {start|stop}" esac exit 0 ----- ここまで ----- このスクリプト自体はrootにて # /etc/init.d/postgresql start できちんとDBが起動する事は確認しています。これを以下のようにして 自動起動の設定を行いました。 # chmod 755 /etc/init.d/postgresql # chkconfig --add postgresql # chkconfig --level 35 postgresql on # chkconfig --level 06 postgresql off 問題はここからで、この状態で再起動を行うと、起動時にpostgresqlを 実行するところでとまってしまうのです。pidファイルなどゴミが無い事は 確認済みなのですが・・・その状態でもネットワークログインは出来るので プロセスを確認すると以下のようなプロセスが残った状態でとまっていました。 root 2765 0.0 0.0 5920 760 ? S 00:47 0:00 initlog -q -c /etc/rc5.d/S87postgresql start root 2766 0.0 0.0 6916 1336 ? S 00:47 0:00 /bin/sh /etc/rc5.d/S87postgresql start root 2769 0.0 0.0 6124 1276 ? S 00:47 0:00 su - postgres -c pg_ctl start この状態で # kill 2765 2766 2769 とすると起動がまた再開されるので、PostgreSQLの起動時にとまっている事は 明らかです。 いったい何が原因なのか、さっぱりわかりません。 どなたかヒントだけでもいただけたら幸いです。 よろしくお願いします。

  • chkconfig がうまくいかない

    ApacheとPHPをソースからインストールしたのですが # /sbin/chkconfig/ --add httpd とすると -------------------- サービス httpd は、chkconfig をサポートしていません。 -------------------- # /sbin/chkconfig/ --list httpd としても同じです。 # which chkconfig -------------------- /sbin/chkconfig -------------------- とでてきます。 このランレベルの設定を行なうにはどうすればよろしいでしょうか? また、シャットダウンや再起動をするとApacheの自動起動ができません。 起動スクリプトを使っています。 # /etc/rc.d/init.d/httpd start とすると起動できて、ブラウザでの確認もできます。 (index.htmlもphpinfo.phpも表示できます。) 環境:Red Hat Enterprise Linux ES v.4 ご教授お願いいたします。

  • 【SuSE】PostgreSQLの自動起動が出来ない

    見ていただいてありがとうございます! SuSE LinuxでpostgreSQLの自動起動が設定できず 困っております。 ヒントでもかまいませんので、 ご教授いただきたく思っております。 postgreSQLのインストールはソースから行いました。 ログイン後なら、以下のコマンドを実行することで 起動することは可能な状態です。 #su - postgres #/usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data> logfile 2>&1 & ■自動起動させるために行ったこと 1.自動起動スクリプトファイル "/usr/local/src/postgresql-8.3.3/cntrib/start-script/linux" をディレクトリ"/etc/init.d/"にコピーしました。 2.自動起動スクリプトファイルを 「postgresql」にリネームし、 全員に実行権限を付与しました。 3."/etc/init.d/rc*.d"に以下の名前で シンボリックリンクを作成しました。  ・rc0.d、rc1.d、rc2.dに「K02postgresql」  ・rc3.d、rc5.dに「S98postgresql」 現在、上記の操作をした状態となっておりますが、 rootでログインしてコマンド #pr -e を実行しても 「postmaster」の行があらわれません。 ちなみに、コマンド #chkconfig -list を実行すると postgresqlの行の 3 と 5 がONになっています。 現在Linuxのことを勉強中ですので、 質問に情報不足などあるかもしれません。 ご指摘いただければ、至急追加情報を提示いたします。 よろしくお願いいたします!