家へ帰る時に、いきなりVICS緊急情報なんてのが現れた。
このカーナビ使って、十数年になるが初めて出たな。
VICSのビーコンは搭載してなくて、FM VICSのみだが、放送局が文字放送廃止して久しいので、最近の車だと、この機能付いてないかもしれぬ。

I know who Iam.
LED室内灯,120電球,12v,トリム付きチューブ,上下用,トラック,キャンピングカー,ボート用| | – AliExpress
セールで2個で 766円、1個383円のLED電灯だが、部屋のソーラー発電のバッテリに接続して、日々、部屋の照明に使用している。
前に買ったCOBのライトが、2個セットだったので、1個を部屋で使おうと思ったら、数時間で点灯しなくなったが、今回のは作りが割としっかりしてるので、すぐ点灯しなくなるなんて事は無さそう。
その前までは、3WのLED電球だったのだが、電力消費が無いに等しいメリットはあるが、やっぱり暗くて、常用するのが辛かった。
今のは100VLED電灯に比べて、少し暗い程度なので、余計なコストが掛からない12VのLED電灯を使っていきたい。
結局の所、ロックファイルがあれば起動しない処理だったけど、なぜか起動するという事はファイルが無くなっているという事。
プロセスを終了させて、ファイルを消している処理があるので、そこでプロセスが完全に終了するまで待つ事にした。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
motion_start(){ if [ ! -e ${MOTION_PID} ]; then motion -n & echo $! >${MOTION_PID} # ファイルが作成されるまで待つ while [ ! -e ${MOTION_PID} ]; do sleep 0.1 done fi if [ ! -e ${GPS_BASE} ]; then GPS_NOW=`${GPS_LATLON}` if [ "${GPS_NOW}" != "" ]; then echo "${GPS_NOW}" > ${GPS_BASE} fi fi } motion_stop(){ if [ -e ${MOTION_PID} ]; then PID=`cat ${MOTION_PID}` kill -TERM ${PID} # プロセスが完全に終了するまで待つ while [ "`ps h p ${PID}`" != "" ]; do sleep 0.1 done rm -f ${MOTION_PID} || true rm -f ${GPS_BASE} || true fi } |
元は、kill -TERM `cat ${MOTION_PID}`て処理だったけど、それよりも先にファイル削除になって、PIDがkill に渡らないから生存しつづけて、多重起動になっとったんかなあ。
linux ってファイルを処理に渡したら、削除しても内容は消えずに渡ると思ってたが、あれは通常のファイルシステムの話で、RAM DISK上のファイルは違うのかねえ。
とりあえず、プロセス終了を待ってからファイル削除で多重起動しなくなったから、ま、いっか。
【皇紀2682年11月17日 追記】
今日、会社の帰りに車に乗ったら二重起動が発生。
もう、どこが悪いのか分かんね。
【/皇紀2682年11月17日 追記】
車載のRaspberry Pi zero 2 W(以下rx7pi) で、bluetoothヘッドフォン接続時に、motion の動体検知録画を止め、切断時に動体検知録画ONになるようにしている。
だが、確認してみると、朝、車に乗る前に、bluetoothヘッドフォン接続したのに、通勤時の動画が一杯記録されてた。
VPN経由でrx7piへログインしてみたところ、
|
1 2 3 4 |
noizumi@rx7pi:~ $ ps auxw|grep motion|grep -v grep noizumi 5374 1.4 9.1 206036 34324 ? SLl 11月14 11:56 motion -n noizumi 20643 0.8 7.5 171496 28364 ? SLl 09:29 0:16 motion -n noizumi 23656 0.8 7.5 171496 28112 ? SLl 09:34 0:14 motion -n |
三重起動しとる……。
|
1 2 |
noizumi@rx7pi:~ $ cat /dev/shm/motion.pid 23656 |
記録されとるのは、一番最後のプロセスIDなので、多重起動防止を突破しとるようだ。
あと、motion が二重起動してる事があって、何でだろうと考えたが、motion -n &でバックグラウンド起動してるので、process IDを出力する前に、ループで二週目の呼び出しで二重起動になってるんだろう。
1234567891011121314 motion_start(){if [ ! -e ${MOTION_PID} ]; thentouch ${MOTION_PID}motion -n &echo $! >${MOTION_PID}fiif [ ! -e ${GPS_BASE} ]; thenGPS_NOW=`gpslatlon.sh`if [ "${GPS_NOW}" != "" ]; thenecho "${GPS_NOW}" > ${GPS_BASE}fifi}という事で、process IDが出力する前に、touch でファイルを作成しておき、二重呼び出しにならないようにした。
情報源: raspberry pi – Yuji Noizumi’s blog
と、対策はしたのだが、なぜに多重起動する!?
9:29 と 9:34 に起動してるが、ドアの開閉でルームランプのLEDライトが点灯した時にLEDのノイズで接続が切れてるのかもしれんな。
しかし、それでも論理的に多重起動するのはあり得んのだが、状況を整理しよう。
これはやっぱりLEDライト点灯による bluetooth 接続断がくさいが、もしかすると、motion の起動完了にすごく時間が掛かってて、sleep 1 のwaitでは足らないのかもしれない。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
motion_start(){ if [ ! -e ${MOTION_PID} ]; then motion -n & echo $! >${MOTION_PID} while [ ! -e ${MOTION_PID} ]; do sleep 0.1 done fi if [ ! -e ${GPS_BASE} ]; then GPS_NOW=`gpslatlon.sh` if [ "${GPS_NOW}" != "" ]; then echo "${GPS_NOW}" > ${GPS_BASE} fi fi } |
という事で、 恐らく、touch したファイルは、リダイレクト指定したら削除されて、ファイルが存在しないから多重呼び出し可能になってしまうのだろう。
そこで、リダイレクトのファイルが作成されるまで待つ処理を入れてみて、様子を見るとしよう。
事務員が、支払い期限の過ぎた請求書を消そうとしてたので、ちょっと気になって色々調べてみた。
すると、請求書発行の金曜毎に、エクセルで入金リストを記載する事になってるのに、9/7から記載してない。
入金リストは、請求書を発行して、入金があったかどうかを記載するものだが、支払いがあれば「済」で、無い顧客は一覧で「未」となって、督促しないといけない項目となる。
請求書システムで、事務員が削除しようとしていた請求書を調べると、契約解除になっていた。
客が全く利用してない場合は、契約解除の申し出で、契約解除にはできるのだが、その客は請求に対して、一切返事をしないので、契約解除になってるのがおかしい。
経理処理的には、請求書を出して支払いが無い顧客に何回か督促をする事になっているが、事務員は、1回督促して、反応が無い場合に勝手に契約解除にしているようだ。
入金リストに未収の分を記載せず、請求書システムの請求書を消してしまえば、未収の請求書をなかった事にできるから、事務員は消そうとしてた訳だな。
で、更に調べてみると、事務員は、料金の払い込みの無かった客とのメールでのやり取りを削除し、運営サイトの客のデータや契約のデータまで消して、請求書システムの請求書も消してやがった。
いや、これ、もうアカンレベルやろ?
ちょっとした嫌がらせで、勝手に消された請求書を復元しておいたのだが、請求書システムではパスワード入れないと削除できなくしたので、放置するかと思ってたら、わざわざ中身の請求項目を削除して、請求額 0円にしやがったwww
いや、0円の請求書が残ってるって、あからさまにおかしいだろ(笑)
これで請求する金額自体がわからなくなったので、督促しなくて済むとでも思ってるのかな?
でも、事務員が消したと思ってる運営サイトの客のデータも契約も、データ自体は残ってて復元可能だから、請求書もすぐ復元できちゃうんだよなあ。
しかし、0円の請求書を残しておく方が面白いので、復元しない 🙂
まあ、ここまで来たら、事務員は保身と自己正当化の為に、引き続き請求書メールをわざと2回送って、「2回送られる。不具合だ」と言い掛かりを付け、わしのせいにするだろうから、2回目以降送信する場合は、パスワードを要求するようにした。
そして、請求書を編集して、送信ステータスを「未送信」に変更したら、何回でも送れるので、ステータスを「送信済」から変更しようとしたらパスワードを要求するようにした
情報源: Yuji Noizumi’s blog – I know who Iam.
これ以外に、請求書のデータを削除しようとしたらパスワードを要求し、削除しようとした事を記録する細工も仕掛けておいたのだが、今日、そのトラップに引っ掛かっとった。(笑)
どうやら、請求書を削除して、システムに不具合があるって筋書きを実行しようとしたようですな。うん、やると思ってたわwww
だいたい、名前出してブログ書いてんだから、相手に見られている可能性も考えずに書いてる訳がねーだろ 🙂
社長のみならず、社員全員に、事務員が引き続き、システムの不具合に見せ掛ける為の業務妨害を続ける可能性があるって言ってあるんだよな。
そして、今回の件で、わしの言った通りになった訳なので、もう完全に事務員の信頼度ゼロwww
何考えてんのか知らんが、客にメール2回送りつけるとか、請求書削除するとか、普通に犯罪だしな。もう全員知ってるし、懲戒処分食らわん内にやめといた方がいいぞw
【追記:皇紀2682年10月22日】
ログを精査したら、支払い期限切れの請求書を削除しようとしてたみたい。
パスワード解除する為に、システム設定のあちこちを見て回ったようだが、ブラウザ扱えるだけの素人に解除できる仕掛けなんか、わざわざ用意するわけがないだろwww
督促すんのがそんなに嫌か?w
まあ、経理つーたら、請求書出して、支払わん奴に督促せにゃならんけど、二週間に1回、内容証明で督促状出して、2回出してもダメなら終わりの簡単なお仕事やんけ。
そっから訴訟するかは会社の判断になるが、経理上は、損金参入するのに、「頑張って督促したけどダメだったよ」って事を示さないといけないので、内容証明2回出したけどダメだったって結果を残すだけで、何も難しい事はない。
まあ、会社によって方針が違うのかもしれんが、社長の方針で、電話かけろって言われてるなら、それやるしかないよねー 🙂
【/追記:皇紀2682年10月22日】