id:ablaboさんがParallel::ForkManager使ってなんかやってるんで、自分はthreads使ってみた。*1 いろいろあってオリジナルとおなじじゃなかったりちょいダサだったりしますが気にしないで。 use strict; use threads; use threads::shared; use Data::Dumper; use LWP::UserAgent; my @global_status; share(@global_status); #これポイント my @urls = qw(http://blog.livedoor.jp/dankogai/ http://d.hatena.ne.jp/ablabo/ http://d.hatena.ne.jp/onishi/); my @threads; my $id = 0; for my $url (@urls) {
sudo は一時的に別のユーザーになってコマンドを実行するコマンドです。 このsudoを設定するコマンドがvisudoです。 【hoge】 ユーザーが コマンド【/usr/bin/testcommand】をパスワードなしで実行できるようにするには sudo の設定 (root) ユーザーになって visudo を実行します。(エディタ vi が起動します。) 一番下に hoge ALL=(ALL) NOPASSWD: /usr/bin/testcommand と記述します。これだけで設定完了です。 なお全てのコマンドを sudo で実行できるようにするには hoge ALL=(ALL) NOPASSWD: ALL と記述します。 コマンドの実行 実行は(hoge)ユーザーになって sudo /usr/bin/testcommand とするとrootユーザーが上記コマンドを実行したことになり
Perl5.8 では、ithread というスレッドモデルが採用されました。XML や SOAP といった通信処理を書くと、応答を待っている時間が非常にもったいない。例えば、サイトをクロールするときとかは通信時間がバカにならないので、並列化は特に有効です。 ちょっとした実験をしてみたのですが、概ね良好な結果が得られたので、随所にスレッド処理を施そうと思います。 例えば、Amazon Web Service の並列取得なんかを実験してみると、 #!/usr/bin/perl -w use strict; use LWP::Simple; use XML::Simple; use threads; use Thread::Queue; my @sites = ( 'http://xml.amazon.co.jp/onca/xml3?&dev-t=DAB7UJEE24RXR&t=drk7jp-2
公開中のLinuxでプロセスを監視したい場合、「プロセスが生きているか」「死んでいるか」をチェックする必要がある。 例えばcronを使って、シェルを実行できるスクリプトを使って定期的にチェックする方法もあるけど、直接シェルを使ってプロセスの監視を行う。 プロセスダウン時は、プロセスの再起動を実行させて、万が一の場合はサーバー管理者へメール送信・・・・といった具合。 とりあえず、開発機上で使用しているshell。 プロセスの監視には持って来いだけど、意図的にプロセスを止めたい場合はこのshellをkillする必要がある。 $ vim #!/usr/bin/sh while true do #ここではftpdのプロセス監視 isAlive=`ps -ef | grep " ftpd " | \ grep -v grep | wc -l` if [ $isAlive = 1 ]; then
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く