[centos-users 610] Re: atコマンドについて

Hiroyuki Chawan-ya chawa @ chawa.jp
2007年 12月 1日 (土) 23:03:56 JST


茶碗谷です。
masakaさん、ありがとうございます。

at-3.1.8-SHELL-111386.patch こちらでも確認しました。
fprintf(fp, "${SHELL:-/bin/sh} << `(dd if=/dev/urandom count=200
bs=1 2>/dev/null|LC_ALL=C tr -d -c '[:alnum:]')`\n\n");
確かにキューの中身もそのようになってました。

at コマンドでシェルスクリプトを実行する場合、
1行目の #!/bin/sh は意味がないようですね。
とりあえず以下の方法で対応したいと思います。

echo "sh hogehoge"| at 時刻


On Sat, 1 Dec 2007 07:10:45 +0900
Masakazu Takahashiさんからのメール

>  masaka です。入力途中で送信してしまったので訂正します。
> 
> 誤:環境ログインシェル
> 正:環境変数 SHELL で指定されたログインシェル
> 
>  文意は伝わると思いますが、念のため。
> 
> 
> 07/12/01 に Masakazu Takahashi<emasaka @ gmail.com> さんは書きました:
> >  masaka です。
> >
> > 興味を持ったので調べてみました。へー、CentOS や Fedora では(RHEL は未確認
> > だけどたぶん同じ)、at-(バージョン)-SHELL.patch みたいなパッチが入ってて、環境ログ
> > インシェルで実行するようになってるんですね。
> >
> > ジョブのキューが次のようになっています。
> >
> > ${SHELL:-/bin/sh} << `(dd if=/dev/urandom count=200 bs=1
> > 2>/dev/null|LC_ALL=C tr -d '[:alnum:]')`
> > (at -f で指定したスクリプトの内容)
> >
> >
> > 07/12/01 に Hiroyuki Chawan-ya<chawa @ chawa.jp> さんは書きました:
> > > 茶碗谷です。
> > >
> > > 平さん、返信ありがとうございます。
> > > いろいろ試してみましたが、スクリプト1行目の
> > > #!/bin/bash は全く関係ないようです。
> > >
> > > 実はログインシェルに /bin/csh を使用してるのですが、
> > > どうもそれが(今週から?)影響してるようです。
> > > at コマンドを実行したときの /etc/passwd の指定ではなく、
> > > ログインした時点で起動されたシェルがスクリプトを
> > > 実行しています。
> > >
> > > 1. ログインシェル /bin/tcsh でログインする
> > > 2. chsh でログインシェルを /bin/bash に変更する
> > > 3. exec sh で現在のシェルを tcsh から sh に変更する
> > > 4. at -f hogehoge 時刻
> > >
> > > 上の場合はログイン時に tcsh ですので、hogehoge は
> > > tcsh で実行されました。別の CentOS マシンや
> > > VMware 上の CentOS でも同じ結果になりました。
> > >
> > > なぜ今週から man at と違う動作になったのか?
> > > やはり疑問は残ります。
> > >
> > >
> > > On Fri, 30 Nov 2007 10:47:22 +0900
> > > TAIRA Hajime さんからのメール
> > >
> > > > 平です。
> > > >
> > > > とりあえず、#!/bin/sh
> > > > を#!/bin/bash
> > > >
> > > > にしてみてはいかがですか?
> > > >
> > > > .::.:... .::....: .::...:: .::.:.:: .::..:.: .:::..:.
> > > > TAIRA Hajime <centos @ pantora.net>  (for centos)
> > > >              web: http://pantora.net/
> > > >
> > > > ThinkITで連載開始!Linux市場に押し寄せる仮想化の波
> > > > http://www.thinkit.co.jp/free/article/0706/10/1/
> > > >
> > > >
> > > > On 2007/11/30, at 2:02, Hiroyuki Chawan-ya wrote:
> > > >
> > > > > 茶碗谷です。
> > > > > 今週から突然 at コマンドの動作が変わって困ってます。
> > > > >
> > > > > 実は Bourne-sh スクリプトを at コマンドで起動して
> > > > > ますが、
> > > > > 先週までうまく動作してたのが、今週から動かなくなりました。
> > > > > at コマンド実行結果のメールには以下のように書いてあります。
> > > > >
> > > > > for: コマンドが見つかりません.
> > > > > do: コマンドが見つかりません.
> > > > >
> > > > > 試しに pstree を実行する Bourne-sh スクリプトを書
> > > > > いて
> > > > > at で起動すると、以下のようになっています。
> > > > >
> > > > > init─┬─apmd
> > > > >
> > > > > ├─atd───atd───sh───csh───p
> > > > > stree
> > > > >    (以下省略)
> > > > >
> > > > > つまり Bourne-sh スクリプトの中の pstree コマンドが
> > > > > csh から起動されています。
> > > > > スクリプトの先頭には #!/bin/sh を記述してますし、
> > > > > man at でも「後で /bin/sh を使って実行する」とあります。
> > > > > なぜ今週から突然 csh で実行されるのか判らず困ってます。
> > > > >
> > > > > 11/23(金)までは正常に動作してます。土日は使用してなくて、
> > > > > 今週の11/26(月)から動作が変わってます。
> > > > >
> > > > > こちらの環境は CentOS 4.5 です。
> > > > > お気付きの点などありましたら宜しくお願いします。
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > centos-users mailing list
> > > > > centos-users @ oss.poyo.jp
> > > > > http://oss.poyo.jp/mailman/listinfo/centos-users
> > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > centos-users mailing list
> > > > centos-users @ oss.poyo.jp
> > > > http://oss.poyo.jp/mailman/listinfo/centos-users
> > >
> > >
> > > _______________________________________________
> > > centos-users mailing list
> > > centos-users @ oss.poyo.jp
> > > http://oss.poyo.jp/mailman/listinfo/centos-users
> > >
> >
> >
> > --
> > 高橋 "masaka" 正和
> >
> 
> 
> -- 
> 高橋 "masaka" 正和
> _______________________________________________
> centos-users mailing list
> centos-users @ oss.poyo.jp
> http://oss.poyo.jp/mailman/listinfo/centos-users


-------------------------
http://chawa.jp/blog/
ちゃわ chawa @ chawa.jp





centos-users メーリングリストの案内