|
ん〜、コマンドの status は $? を見ればいいですけど、 今試してみたところでは、更新してもしなくても、どちらも 0 を返してきました。正常終了は正常終了なので更新の有無は 関係ないのでしょう。 で、この場合は最終更新時刻が更新されたかを調べるとか、 /tmpにコピーして、それを編集させ、元のファイルとdiffする などするのがいいんじゃないでしょうか。 |
|
>ん〜、コマンドの status は $? を見ればいいですけど、 あれま、やっぱ甘かった!。 viの終了コードで判別しようと思ったんですが...、そうですね よく考えたら、保存しようがしまいが一応正常終了だから、それ では判別できませんね。(^^ゞ わざわざ試してもらってすいません。 #でも「$?」の方法が知らなかった... #ホント初心者です。(*^_^*) DOSの場合、終了コードはかなりいい加減だっただった記憶が 有ります。UNIXの各コマンドの場合正確にコードを返してくるの ですか?、それからどんな時にどんな終了コードが返るかは、man で調べる以外に基準の様なものはあるのでしょうか?。 #例えば正常終了だと0が返る等 /tmp/の方法でやってみます、もっと単純に出来ないかと思った のですが。(^^ゞ >2番目の方法のソースは、よろしければお見せしましょうか? この方法は、私も非常に興味があります是非お願いします。m(_ _)m |
|
gettimeofdayについて |
|
gettimeofday |
|
>2番目の方法のソースは、よろしければお見せしましょうか? この方法は、私も非常に興味があります是非お願いします。 すいません。これって「wrapperを使う」方ですね。 勘違いしてました。 興味があるのは、perlでの方です。 「suidperlを使う」ってのは、やってみましたが動きませんでした。 なぜなんだろう? |
|
> 「suidperlを使う」ってのは、やってみましたが動きませんでした。 書き方が悪かったですが、普通にperlスクリプトを書いて、 chown root script;chmod 4755 script として scriptを実行すれば、scriptがsuidされているかどうかを perl(/usr/local/bin/perl)が調べくれて、もしsuidされていたら 勝手にsuidperlを実行してくれます。suidperlはrootにsuidされている プログラムなので、そこで実行権限をscriptのオーナー(この場合はroot) に変えて実行してくれるわけです。 # perl4はどうなるか知らない。 shやcshはそういうことはしてくれないので、suidスクリプトは 実行者の権限でしか動きません。 ちなみにCで書く方法も簡単で、特定のコマンドをexeclやexecvする プログラムをCで書いて、コンパイルして、 chown root program;chmod 4755 program するだけです。 |