タグ

ブックマーク / d.hatena.ne.jp/lurker (4)

  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

    KoshianX
    KoshianX 2009/07/23
    「pkill と pgrep は Sun の Solaris 7 で導入された」とあるから割と新しいのか。Macには入ってなさげ。GNUとSolarisだけ? *BSDはどうだろう
  • tail -fしているファイルをmvしてもそのまま読み込み続ける事が出来るのはなぜか - 技術メモ帳

    せっかく教えていただいたので tail -f しているファイルをmvしても そのまま読み込み続ける事が出来るのはなぜなのかを調べてみた。 『詳解UNIXプログラミング(Advanced Programming in UNIX Environment)』 の CHAPTER.4 の 4.14 ファイルシステム に この件に関連する情報が記載されている。 コレを参考にボクの解釈した結果をまとめてみた。 間違っている箇所がありましたら 気軽にご指摘していただけますようよろしくお願い致します。 まず、事の発端から。 ボクのこの一文。 http://d.hatena.ne.jp/lurker/20070228/1172595016 そうそう、tail で思い出したが、GNUのtailはデフォルトで (たぶん/詳しくは知らない)inode番号を見ているため tail -f した状態で そのログファイル

    KoshianX
    KoshianX 2008/11/14
    これは気づかなかったな
  • 漢のzshに乗り換えた時にアッーってなるコト - 技術メモ帳

    男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文

  • zshのzptyを使って端末が必要な処理を自動化する - 技術メモ帳

    zsh のモジュールに zpty というのがあるのを最近発見した。 どうもコレを利用すれば指定したコマンドを 仮想端末上で実行することが出来るらしい。 具体的にどういったことが出来るようになるのかというと、 端末が必要なプログラムを自動化することが出来る。 たとえば、パスワード入力処理などだ。 パスワード文字列を標準入力から読み込ませようとしても、 大抵のプログラムでは入力できない。 なぜかというと、多くのプログラムにおいてパスワード入力処理は 端末から読み込むように作られているからだ。 zpty を利用すればそういったたぐいのものをすべて自動化できる。 いわゆる、expect というコマンドで実現していたことが zsh だけで出来るのだ。 今回は、簡単に試すことが出来るサンプルとして、 su コマンドのパスワード入力を zpty を使って自動化してみる。 まず、zsh に標準添付されてい

  • 1