ポート監視
昨晩の続きを少し。
サービス止めてみた。
# /etc/init.d/snmpd stop Stopping network management services: snmpd snmptrapd. #
で、以下を
#!/usr/bin/gosh (use gauche.process) (define l '((/home/rms/1.programming/1.Gauche/3.system/2.system/test2.sh))) (define main (lambda (args) (let ((x (process-output->string-list (car l)))) (display (car x)) (newline))))
実行。
# ./test2.scm *** ERROR: pair required, but got () Stack Trace: _______________________________________ 0 x 1 (display (car x)) At line 10 of "././test2.scm" #
ええと、test2.sh って以下か。
# cat test2.sh #!/bin/bash netstat -n --all|grep ':161 ' #
出力がナシ、であれば '() が戻ってくるのか。どうしたものか。
#!/usr/bin/gosh (use gauche.process) (define l '((/home/rms/1.programming/1.Gauche/3.system/2.system/test2.sh))) (define main (lambda (args) (let ((x (process-output->string-list (car l)))) (cond ((null? x) x) (else (display (car x)) (newline))))))
てーか、テストファーストでヤリたいですな。あと l をなんとか抽象的にナニ。