タグ

commandに関するtsujimitsuのブックマーク (6)

  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • bash 2重起動を慎重に抑止する。 - Qiita

    参考情報:シェルスクリプトでの排他処理 概要 2重起動をbashで抑止しようとした場合、lockファイルを作成するだけだと、 不慮のプロセス停止になった場合、lockファイルが削除されずに、 手でlockファイルを削除しないと永遠に起動出来ないことになってしまう。 それではちょっと不便なので、なんとか当に2重起動しようとしているかどうか、 pid(Process ID)も組み合わせて、判断するようにしてみた。 以下の条件を完全に満たす場合、2重起動とする。 自ファイル名.pidファイル が存在している →lockファイル方式 ファイルの1行目に書かれているプロセスが存在した場合 (/proc/ ディレクトリにpidのディレクトリが存在する) →不慮の事故(kill -9)等によりlockファイルが残っていた場合の自動リカバリ処理 自分と同じプロセス名を検索結果のpid一覧と.pidファイ

    bash 2重起動を慎重に抑止する。 - Qiita
  • 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    入力と出力 リダイレクションとパイプ コマンドの実行結果は通常、標準出力であるディスプレイに出力される。この実行結果はリダイレクション(>、>>)やパイプ(|)を使用することにより、ディスプレイではなくテキストファイルやコマンドに対して出力するように切り替えることができる。 また、リダイレクションはコマンドの出力先をテキストファイルに切り替える以外にも、これとは逆にコマンドへの入力元をテキストファイルに切り替えることもできる。 なお、リダイレクションとパイプは次のように使い分ける。 リダイレクション データを渡す対象がファイルである場合はリダイレクションを使用する。 パイプ データを渡す対象がコマンドである場合はパイプを使用する。 リダイレクション [>, », <] コマンドの出力を file へ上書きする → コマンドの実行結果の出力先を、ディスプレイからファイルへ切り替えたい場合は、

    入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 各種圧縮ソフト 圧縮速度と圧縮率の比較(並列版含む)

    下記の表は gzip の標準状態を 1 とした相対的な数値を示しています。 Software 欄の -1 や -9 は、コマンドに指定できる圧縮率です。 -1 が最低、 -9 が最高になっているコマンドが多いです。 並列に実行できるものに関してはすべて 8 スレッドで実行しています。 ベンチマーク結果 time real 実際の経過時間 time user CPU user 時間 compression ratio 圧縮率の比。大きいほどファイルが大きい。 compression ratio (single/parallel) 並列版について、シングルスレッドに対する圧縮率の比 parallel overhead シングルスレッド版と比較した CPU user時間の比

    各種圧縮ソフト 圧縮速度と圧縮率の比較(並列版含む)
  • にひりずむ::しんぷる - ngrep 便利!

    tcpdump で HTTP みてたら、まさかり族の長に 23:44 hirose31: ngrep -d any -W byline port 80 便利 っていわれてそういえば ngrep とかあったわーってことで大変便利でした。@hirose31++ ちなみに今回は request 側から特定のホストのみに限定してみたかったので $ sudo ngrep -W byline port 80 and host www.google.co.jp とかしたのでした。これで生の HTTP がらくらくみれて幸せ! ちなみに tcpdump では $ sudo tcpdump -l -s 1600 -nxX -i en0 host www.google.co.jp とかやってました。オプションむずいよぉ。 https://twitter.com/muranet/status/3118546330

  • サーバで動いているプロセスを知るために使ったコマンド - $shibayu36->blog;

    今日会社の開発サーバでhitode君と遊んでて、動いているプロセスを調べていたのでメモ。 動いているプロセスを知りたい 基的。 ps ax ps auxとかすると、メモリ使用量とかいろいろ見れる。 動いているプロセスの関係も含めて知りたい pstreeコマンドでできる。とりあえずどんな感じに実行されているかサマリーを知りたい時は以下のコマンド。 pstree いろいろ折りたたまれているので、それを展開したい時は-cをつける。 pstree -c コマンドの引数とかも表示したい時は-aつける pstree -ac pidを知りたい時は-pつける pstree -acp 表示してみると{}で囲まれているやつがあるけど、これは多分threadなんだろうと思う。linuxではthreadのidはpidのように管理されているみたい。 メモリやCPUを消費しているプロセスを知る topとかでいろいろ

    サーバで動いているプロセスを知るために使ったコマンド - $shibayu36->blog;
  • 1