Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

ミーティングにPCを持ち込むときに気をつけていること

ミーティングにPCを持ち込むときに気をつけていること

  • 基本的に、持ち込んだPCを見ない
    • 前に映し出されている画面を見ればよい
  • 他の作業をしない
    • 他の作業をしていると思われるぞ
  • うるさいキーボードを使わない
    • カタカタカタカタカタという音は、打鍵者本人が思っているより部屋に響いてる
      • 特に、議題の合間に訪れる静寂にひとり「カタカタカタカタ!」と鳴っているのは、ちょっと恥ずかしい
    • そういう意味では、MacBookPro 2015はパタパタ感のキーで悪くはない
    • しかしリモートで参加しているときはミュートにしていないと、たとえMBPだとしてもうるさい
    • 本人の打鍵度にもよるのだろうが…
  • 議事メモとるときは、書くことを口にしながらキーボードを叩く
    • 何を打っているのか口頭で周知しながらだと、まあまあ安心感ある
  • チャットで裏ミーティングをしない

こんな感じかな。

killでプロセスに「0」を送ると、プロセスの生存確認ができる

eyeのソースコードでkillで「0」を送っていた

eyeというプロセス監視ツールがある。
このツールの中身をみていたところ、以下のようなコードがあった。

https://github.com/kostya/eye/blob/f37de3761566e74bd04d3e20c6cdb7a67cbabd99/lib/eye/system.rb

    # Check that pid really exits
    # very fast
    # return true/false
    def pid_alive?(pid)
      if pid
        ::Process.kill(0, pid)
        true
      end
    rescue
      false
    end

プロセスに「0」のシグナル番号をkillで送っている。
ご存知の通り、「9」ならSIGKILLだし、「15」ならSIGTERMだけど、「0」ってなに?、と思って調べたメモ。

意味

先に結果から書くと、「プロセスの生存確認」ということだった。

メモ

kill(1)のmanにはなかったし、-lでも出てこなかった。

$ man kill
$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL
 5) SIGTRAP	 6) SIGABRT	 7) SIGEMT	 8) SIGFPE
 9) SIGKILL	10) SIGBUS	11) SIGSEGV	12) SIGSYS
13) SIGPIPE	14) SIGALRM	15) SIGTERM	16) SIGURG
17) SIGSTOP	18) SIGTSTP	19) SIGCONT	20) SIGCHLD
21) SIGTTIN	22) SIGTTOU	23) SIGIO	24) SIGXCPU
25) SIGXFSZ	26) SIGVTALRM	27) SIGPROF	28) SIGWINCH
29) SIGINFO	30) SIGUSR1	31) SIGUSR2

と思ったら、macのmanにはなかったけど、Linuxのmanにはあった。

If sig is 0, then no signal is sent, but error checking is still performed.

もしシグナルが0なら、シグナルは送られないが、エラーチェックは実行されます。

なるほど。
(macで)やってみると、確かにそんな感じになった。

# プロセスがあるとき
$ ps 723
  PID   TT  STAT      TIME COMMAND
  723   ??  R     13:39.12 /Applications/Firefox.app/Contents/MacOS/firefox
$ kill -0 723
$ echo $?
0
$ ps 723
  PID   TT  STAT      TIME COMMAND
  723   ??  S     13:43.44 /Applications/Firefox.app/Contents/MacOS/firefox

# プロセスがないとき
$ kill -0 63421
-bash: kill: (63421) - No such process
$ echo $?
1

というわけで、プロセスIDを書き込んでおいた「/var/run/xxx.pidファイル」があっても、そのプロセスが生きているかどうかをチェックするために、killを使って「0」叩き込んで(叩き込まないで)、プロセスの生存確認をしているということのようだ。
さすが死活監視ツールである。

会社のノートPCにシールでデコる派とデコらない派

自分はデコらない派。
会社から借りているPC(リース会社からのリース)なので、綺麗に扱っている。


世の中には、借りているものについて、「(自分のものではないから)丁寧に扱う」というタイプと「(自分のものではないから)乱暴に扱っても良い」というタイプがいるようだ。
自分は前者。
割と潔癖症なのもあって、会社支給のMacBookProを外から家に持って返ってきたときは、周りとかキートップとかトラックパッドとかはアルコール消毒してる。
(液体がキーの下の隙間に入ってしまわないかだけ心配だけど)