|
>>3045 has > Win2k上でnslookupがうまくいってないようなので、ついでにそちらも > 監視してみたところ、Non-Existent Domainが返されていました。 謎ですねぇ。こっちを解決したら Linux の問題も解決したりして。 >>3047 KEI Windows はわかりません。 >>3048 HITO > trapの''の中にawkの''があるせいで、エラーになってしまいます。 クォートの規則がわからなかったら、 siginthandler(){ back_pid=.... kill ... } trap siginthandler INT と別関数にしましょう。 > でも、これだと、バックグラウンドで動いてるプロセスが無い場合も、 > 未設定の値でkillが走ってしまうので、あまり良くないですが・・・ if [ "$back_pid" != "" ]; then kill ... fi てな感じで。 |
|
はじめまして、さとしです。 突然で申し訳ないのですが教えて欲しい事があります shell内で、あたかも関数の様に処理を作成して、同一shell内の呼び出し元に返り値を返すことって出来ますか? |
|
>>3050 さとし shell って言ってもいくつか種類があるんですけんども。どのシェルを使って いるのか ちゃんと書きましょう。 sh 系なら func(){ echo "$@" return 8 } func 1 2 3 4 hoge fuga echo $? とか。 |
|
はじめまして。現在サイトを参考にさせて頂き、HTTPクライアントを作成しております。ベーシック認証において、perlを使いID及びPasswordを相手側サーバに送信する方法を教えて頂けないでしょうか。お忙しいところ申し訳ございませんが宜しくご教授願います。 |
|
>>3052 しん > ベーシック認証において、perlを使いID及びPasswordを相手側サーバに送信する方法 >>2612 68user をどうぞ。 |
|
はじめまして、 ちょっとだけ聞きたいことがあります。 crontabにシェルを登録しました。 内容は * * * * * (./Home/Comp/.profile; /Home/Comp/glance_log.sh) です。 マシンはHP 11.0を使っております。 そしてシェルの内容は ===glance_log.sh=== nohup glance -adviser_only -iterations 1 -syntax ./temp -j 30 >> glance_log.dat & で, === ./temp==== print gbl_stattime, " CPU=", GBL_CPU_TOTAL_UTIL, " DISK I/O=", GBL_DISK_UTIL_PEAK, " MEM UTIL=", GBL_MEM_UTIL です。 普通のprompt上で実行すると glance_log.datにローグが積みます。 ===glance_log.dat=== 01:29:49 CPU= 11.4 DISK I/O= 19.5 MEM UTIL= 81.0 01:29:50 CPU= 17.6 DISK I/O= 9.5 MEM UTIL= 81.1 ところがcrontabに登録して実行させると glance_log.datには何もでしませんでした。 もちろんのことにechoを使って実行させるとechoだけはローグができますね。 やはりttyの設定が悪いからではないかなぁとおもうんですが、どうやってcrontabに登録したらいいかわかりません。 助けてください。 ほんとに困ります。 |
|
はじめまして。いつも参考にさせて頂いてます。 perlで書いたサーバプログラムをinetd経由で起動しているのですが、 接続してきた相手の情報を取得する方法がわからず困っています。 どのように取得するのが一般的な方法なのでしょうか。 |
|
>>3054 高橋 > (./Home/Comp/.profile; /Home/Comp/glance_log.sh) . と / の間に空白がないので .profile の読み込みに失敗しているのでは? それを直してもダメなら、 (. /Home/Comp/.profile; /bin/printenv) などで環境変数を確認しましょう。 > やはりttyの設定が悪いからではないかなぁとおもうんですが glance というコマンドは知りませんが、キーボードからの 入力を受け付けるようなプログラムであれば tty がらみ かもしれません。でも、そうでないなら tty は関係ないでしょう。 >>3055 えい > perlで書いたサーバプログラムをinetd経由で起動しているのですが、 > 接続してきた相手の情報を取得する方法がわからず困っています。 何も試さずに書きますが、標準入力であるところのファイル デスクリプタ 0 がソケットにつながっているわけなので、 getpeername(STDIN) でいけるんじゃないでしょうか。 |
|
こんにちは、いつも参考にさせてもらっています。 UNIXで2ギガを超えるファイルの圧縮を行なう方法をご存知の方がいらっしゃれば教えて下さい。 圧縮率に関してはそれほど気にしないので、compressでもOKです。 よろしくお願い致します。 |
|
>>3057 山田 > UNIXで2ギガを超えるファイルの圧縮を行なう方法 OS の制限なら無理でしょう。tar の制限なら制限のない tar を使うと いけるかもしれません。 結局のところ、「UNIX」と言われてもいろいろな UNIX like OS があるので わかりません、ってことで。 |
|
ありがとうございます。 zipに制限があるのは確認したのですが、compressは確認していません。 tarで試してみます。 ちなみにOSは何をみれば分かりますか? |
|
始めまして。 私は実際のサーバなど全くいじったことがなく、すべては読み物での知識です。NTTの.COM.MASTER *はパスして現在**を目指している60才を過ぎた元通信分野に籍を置いたものです。交換機などと異なりcomputerの領域の知識が無いので少し苦労をしています。 それで、 きわめて基本的なことですが、permissionにおける「実行」というのは具体的にどういう事象なのでしょうか? R/Wについては解るのですがX(実行)というのはどう言うことなのか解りません。 教えてください。 |
|
>>3049 68user tcpdumpを使おうとmanを見たらそれだけで圧倒されてしまい、 etherealを入れようとしたらrpmの依存関係が解決できずに そのままはまってしまいました。なんてこった(*_*) もうちっと腰を据えて勉強するとします…。 それはそうとこの板、回答者がすっかり68user一人になってしまったので、 たまには私も口を出せそうな話題にはお邪魔しようかと思います。 というわけで早速。 >>3059 山田 OSの種類については % uname -s を実行するとわかります。 SunOSとかHP-UXとかFreeBSDとかlinuxとか。 >>3060 山岸 信一 コンピュータに関する理解具合が把握できなかったので回答しづらいですが、 http://www.kent-web.com/pubc/axsken/ というページがありました。 こういう説明で参考になるでしょうか? |
|
>>3061 has しまった、結局「実行」についての解説が無かったですね。 「そのファイルをプログラムだと思って実行してもよい」という意味です、 と言いたいところなんですが、これで通じますか? @68user こっちは再編集機能つけて無いんすね…。 |
|
>>3055>>3056 なるほど。標準入出力がソケットに繋がってるんですね。 上手く取得することが出来ました。 ありがとうございました。 $sockaddr = 'S n a4 x8'; $hersockaddr = getpeername(STDIN); ($family, $port, $heraddr) = unpack($sockaddr, $hersockaddr); $addr = inet_ntoa($heraddr); |
|
>>3059 山田 > zipに制限があるのは確認したのですが、compressは確認していません。 > tarで試してみます。 おっと、tar と書いたのは指がすべりました。compress の 間違いでした。 要は、OS の制限として 2GB 以上のファイルを扱えない仕様 なのか、compress や zip の制限なのかを明らかにしましょう、 ということです。 そういうのには興味がなくて、とにかく圧縮したいのなら split して zip なり gzip なり compress なりすればよい でしょう。 >>3061 has > OSの種類については > % uname -s Linux カーネルが 2GB over ファイルに対応したのは最近の ことだし、Solaris なら 7 以降 (2.6 なら -largefile オプションで可能らしい)、uname -a でバージョンまで 聞き出すのがよいかと思います。 >>3060 山岸 信一 補足すると、コンピュータにとってはプログラム (実行可能なもの) も データ (例えばテキストファイルとか画像ファイルとか) も、ただの ファイルとしか見えません。 なので人間が「このファイルは実行可能である」と教えてやらないと コンピュータはプログラムを実行できないわけです。 で、UNIX では実行権限 (x) が「このファイルは実行可能な プログラムである」という印なわけです。 ここらへんは OS によって異なり、例えば Windows だと拡張子が .exe や .com の場合、「このファイルは実行可能なプログラムである」 という印になるわけで。 > NTTの.COM.MASTER *はパスして現在** これですか。 http://biz.ocn.ne.jp/master/c027_02.html いろんな資格があるもんですねぇ。 >>3061 has > それはそうとこの板、回答者がすっかり68user一人になってしまったので、 > たまには私も口を出せそうな話題にはお邪魔しようかと思います。 当然ながら誰が回答してもよい掲示板ですので、よろしく>みなさま >>3062 has > こっちは再編集機能つけて無いんすね…。 これまで作った掲示板で再編集機能を付けたことないっすよ。 ちょっと突っ込まれると内容を変えたり、削除したりする人が いるので、「掲示板に編集・削除機能は不要」というのが 僕の考えだったりします。 |
|
はじめまして。 UNIXリファレンスを利用させて頂いています。 一つご教授願いたいことが出来まして投稿させていただきます。 環境は以下の通りです。 ・一台のUNIXサーバに対して複数台のWindowsサーバが接続している ・UNIX上のシェルからリモートシェルによってWindows上のbatコマンドを実行(Windowsサーバは全て同一ディレクトリ構成・かつ同一batコマンドを実行) 上記条件において、Windowsサーバをパラで動作させたいのです。 一台目のWindowsのbatコマンドの終了を待つことなく次のWindowsのbatコマンドを実行、といった風にしたいのです。 (現状、一台目の処理が終了したら二台目・・・となっています。) UNIX側では全Windowsサーバのbatコマンドの終了(rshの終了)を待ってから次の処理に進みます。 そのような実装は可能なのでしょうか。 分かりにくい質問内容かも知れませんが、ご存知の方がおられましたら宜しくご教授お願い致します。 |
|
すみません、すみません、2ギガ越えに関する回答は終了かと思い、週末は掲示板に目を通しませんでした。。。 遅れ馳せながら、>>3064様、>>3061様、丁寧なご回答ありがとうございます。 ご教授いただいたOSのバージョンですが早速試してみたところ、下記の様に表示されました。 「SunOS xxxxxx 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire-280R」 一般的に5.8を指してソラリス8と呼んでるようですが(聞きかじりです。間違っていたらすみません)、下記は68usr様がおっしゃる「Solaris なら 7 以降 」に該当するのでしょうか? これより新しいのはソラリス9と聞いています。 ご教授ください。 山田 |
|
>>3064 68user > UNIX上のシェルからリモートシェルによってWindows上のbat > コマンドを実行(Windowsサーバは全て同一ディレクトリ構成・ > かつ同一batコマンドを実行) > 上記条件において、Windowsサーバをパラで動作させたいのです。 UNIX 側で rsh host1 command rsh host2 command rsh host3 command などとしているのですよね? ならば rsh host1 command & rsh host2 command & rsh host3 command & が一番簡単だと思います。 >>3066 山田 > 一般的に5.8を指してソラリス8と呼んでるようですが そうです。 >「Solaris なら 7 以降 」に該当するのでしょうか? 該当します。 Solaris の 2GB 超ファイルの扱いは、man largefile で見ることが できる largefile(5) に載っています。 http://www.freebsd.org/cgi/man.cgi?query=largefile&apropos=0&sektion=0&manpath=SunOS+5.8&format=html Solaris8 の largefile(5) には large file aware なコマンドとして compress はありますが、zip は載っていません。よって、compress なら OK、zip は NG でしょう。 >>3064 68user > Solaris なら 7 以降 (2.6 なら -largefile オプションで > 可能らしい) 手もとの Solaris 2.6 で試してみましたが、2GB 超ファイルを 作成することができました。現在のマウント状況を表す /etc/mnttab は /dev/dsk/c0t0d0s5 /opt ufs suid,rw,largefiles,... などとなっているので、Solaris 2.6 のデフォルトは 2GB 超 OK なのかな? |
|
はじめまして。 コマンドヒストリについてご教授願いたいことが出来まして投稿させていただきます。 ユーザがUNIXサーバへログインしたあとに実行したコマンドはヒストリファイルに記録されていると思いますが、コマンドが実行された時刻はどのファイルに記憶されるのでしょうか? 記録するための設定などがありましたらぜひご教授ください。 よろしくお願いいたします。 OS solaris 5.8 |
|
>>3068 児嶋 csh・tcsh なら、~/.history に #+1043136351 ls などと時刻込みで記録されています。bash なら .bash_history。 |
|
>>3069 68user > bash なら .bash_history。 一応確認してみましたが、bash はヒストリに時刻を記録しないみたいですね。 |
|
>>3070 68user csh,bash環境で確認しました。 ls等のコマンドを実行してから一度ログオフし、再度ログインしました。 そこでホーム配下の.historyおよび.bash_historyを確認しましたが何も書かれておりませんでした。 .historyの権限は644になっております。rootアカウントで実行していますので権限は問題ないかと思います。 何か、出力要否のフラグの設定があるのでしょうか? |
|
>>3071 児嶋 csh なら、シェル変数 history・savehist がセットされているか確認。 % set | grep hist history 1000 savehist 2000 セットされていなかったら % set history = 1000 % set savehist = 2000 など。 bash なら % set|grep -i hist HISTFILE=/home/user/.bash_history HISTFILESIZE=500 HISTSIZE=500 ここらへんですかねぇ (常用していないのでよくわかりませんが)。 |
|
>>3072 68user 早速実行してみました。 結果、コマンドラインは出力されましたが、時刻までは出力されませんでした。 何とか、時刻も出力させる方法はないものでしょうか? |
|
>>3073 児嶋 またまた誤解してました。csh は時刻を記録しないみたいですね。 というわけで、「tcsh を使う」が解でしょうか。 |
|
はじめまして。 考えても考えてもわからないことが ありますのでご教授下さい。 あるファイルに aaaaああああaaaa いbbbbbbbbbbbい のような行があって、 各行から2バイトの文字だけを 抜き出したいのですがどうすれば できるのでしょうか? イメージとしては上のファイルを このように出力したいのです。 ああああ いい どうしてもわからないので よろしくお願いします。 |