2019/07/20

[linux]systemctl stopは同期なのか?

最近、systemctlを使うことがある。
起動時に立ち上げたい処理があるのだけど、最近はどうもsystemctlというかsystemdというかを使うらしい、というのが理由だ。

 

立ち上げるのは良いのだが、システムを停止するときに安全に止めたいという要望もある。
普通にsystemctl stopを実行すると、どうもkillっぽく動いているものを止めてしまうようだった。
serviceの中に「ExecStop=」を書いておくとそれを実行するらしい。

では、ExecStopに止める処理を書いていたとして、そのまますぐにhaltさせてもよいのだろうか?
もしかしたら、systemctl stopは要求だけ出してすぐに戻ってくるかもしれない。

不安になったので、確かめることにした。


こんなtest.serviceを書いた。

[Unit]
Description = test

[Service]
ExecStart=/home/xxxx/test.sh
ExecStop=/home/xxxx/stop.sh
Type=simple
User=xxxx
Group=xxxx

[Install]
WantedBy=multi-user.target

test.shもstop.shも、whileで無限ループして1秒おきにechoするだけのスクリプトである。

 

startしてstopすると・・・おお、stopから戻ってこない。
ということは、同期処理なんだろう。

 

胸をなで下ろしていたのだが、この文章を書いているうちに、いつの間にかコンソールに戻っていた。
journalctlで見てみると、タイムアウトしたらしい。

Jul 20 17:17:03 hovbox systemd[1]: test.service: Stopping timed out. Terminating.
Jul 20 17:17:03 hovbox systemd[1]: test.service: Failed with result 'timeout'.
Jul 20 17:17:03 hovbox systemd[1]: Stopped test.

timeで見ると、1分半らしい。が、まだ長かった気がするなぁ。。。

 

とりあえず、以下が分かったのでよしとしよう。

  • タイムアウトまでは同期で処理待ちを行う

[win10]Windows Sandboxが立ち上がらん

Windows10 Proのマシンを1903にアップグレードした。
やってみたかったのは、Windows Sandbox。
「自分のマシンは大丈夫!」などと言い切る自信が全然無いので、隔離された環境があるのは非常にありがたい。

 

 

image

え・・・。

いやいや、落ち着くのだ、私。
まだ1903にアップデートした直後で、Windows Updateをやっていないのだ。

しかし、ダメだった。
Firewallを無効にすると1回だけ違うエラー番号になったのだが(メモしてない)、2回目以降は同じエラー番号だ。
BIOSのVTなんとかは有効にしてたと思うが、Hyper-Vとか関係あるんだっけ?

Serviceを有効にしたりするやり方も検索すると出てきたのだが、うちのWindowsに該当するServiceが見つからない。。

Event Viewerにも特に出てこないし、よくわからんな。  


これで終わろうと思ったのだが、今度はVirtualBoxが起動しなくなった。Guest OSが立ち上がらん。

image

コンテナーマネージャーサービス、HVホストサービス、Hyper-Vホストコンピューティングサービスを止めてもダメ。
ネットワーク仮想化サービスは手動では止められなかったので、もうSandboxごとアンインストール。
でも、ダメ。

サービスを見てみると、HVホストサービスがまた立ち上がっていたので、「無効」にして再起動。
そこまでやって、ようやくVirtualBoxが起動した。
やれやれ。

2019/07/15

[nfc]TNEPというプロトコルができたらしい

NFC Forumの仕様書が有料になったのでスルーしていたのだが、6月くらいにTNEPというプロトコルが追加されたらしい。

https://nfc-forum.org/our-work/specifications-and-application-documents/specifications/nfc-forum-candidate-technical-specifications/

「Tag NDEF Exchange Protocol」の略だそうだ。
それで思いつくのは、SNEP(NFC Simple NDEF Exchange Protocol Technical Specification)だろう。

 

もう数年近くNFCのことをやっていないので間違ってるかもしれんが、NFC Forumとしては3つの柱があったと思う。

  • Reader / Writer
  • Tag(Emulation)
  • P2P

SNEPは、P2PでNDEFを渡してた記憶がある。
渡せるけど、そもそもLLCP自体が負荷が高いよなー、とは思った。
結局のところ、SNEPを使うとしたらスマホくらいしか無いと思う。
そうじゃなかったら、だいたいどっちがどっちの役割になるかが固定されるので、どっちかだけ実装すればよいだろう。
スマホだって、P2Pじゃなくて片方がTag Emulationすればよいだけである。

まあ、P2PだってどっちかがInitiatorでどっちかがTagになって、頻繁に送り合うことで同等に近い関係を持たせようとしているだけだったと思う。


というわけで、まったくTNEPのことはわかっていないのだ。

SNEPが1回だけの通信だったから、TNEPは何度かやりとりできるようになったのかな?
でも、それだったらSNEPを拡張すれば良かっただけのような気もする。

ならば、もっと違った何かがあるのだろうか。
気になりはするが、仕様書を購入してまで読む気にはならんな。

[win]OpenLiveWriter + Bloggerで画像がアップできた(2019/07/15)

今年の春くらいから、OpenLiveWriter + Bloggerで画像がアップできないという現象が出ていた。
API関係のようで、4月とか5月くらいには「こうすると動くよ」という記事があってできていたようなのだが、私が見たのは6月で、そのせいかどうかわからないがアップできなかったのだ。

やったことを書いておこう。

  • OpenLiveWriterのアンインストール
  • 開発版のOpenLiveWriterをインストール+updater.exeの削除
  • 登録していたBloggerのアカウント情報を消して再登録
  • GoogleフォトのアルバムからOpenLiveWriterを削除

 

それでもダメだったので、画像はBloggerの方で追加したり、最近はもう画像を載せることすらしなくなってきた。

が、今朝なんとなく開発版をインストールすると、画像のある記事をアップするとAPIエラーが出るようになった。
そう、前回はそこにすらたどりつかなかったのだ!

そのあと、あれこれしてGoogleフォトへのアクセス権を追加すると、画像がアップできるようになっていましたとさ。

 

image

 

開発版だから、URLは同じでファイル名も同じでも、当時とは内容が違うんだろう。
私がインストールしたのは7月8日版のようだ。
まあ、深く考えまい。

2019/07/14

Kensingtonのトラックボールの型番

腱鞘炎が痛いので、家で使っているトラックボールを会社に持っていって使っていた。
が、移動が面倒になってきたので、もう1個くらい買ってもいいんじゃなかろうかという気分になってきた。


今はorbitというのを使っているが、ちょっと高いやつにしてみたくなった。
となると、有線がよいのでSlimBladeというやつだろうか。


検索すると、これが出てきた。

https://www.kensington.com/ja-jp/p/products/control/trackballs/slimblade-trackball/

No. KT-2327/72327JPとある。JPだから日本向けということか。

アメリカにしてみてみた。

https://www.kensington.com/p/products/control/trackballs/slimblade-trackball/

こっちは、No. K72327US。イギリスも見てみたが、K72327EU。

OrbitなどもKTで始まる番号が付いている。
なんで日本向けは前半に数字があるんだろうか?


ヨドバシカメラのページを見てみた。

72327JP:販売終了
https://www.yodobashi.com/product/100000001001357971/

KT-2327
https://www.yodobashi.com/product/100000001002999087/

別商品のような扱いを受けている。


ビックカメラはというと、

72327JP:販売終了
https://www.biccamera.com/bc/item/1956589/

KT-2327
https://www.biccamera.com/bc/item/3314978/

同じだった。



七陽商事というところが輸入代理しているようだったので見てみた。

https://www.nanayojapan.com/trackball

72327JPだ。

http://www.nanayojapan.co.jp/products/tball/72327.html

KT-2327も同一らしい。


うーーーん???


Amazonだと型番と値段くらいしかわからんので、発売時期によって同じ商品名で型番が変わってたり、リニューアルされてたりするんじゃなかろうかと気を揉んでいるのだ。

4千円くらい違うと、安い方にくらっと来てしまうじゃないですか。。。

2019/07/13

[tools]UMLエディタを探し始めた (5)

今回のUMLエディタ探しは、Violet UML Editorだ。

Violet UML Editor : easy to use, completely free
http://alexdp.free.fr/violetumleditor/page.php

Completely free、だそうだ。
有料も視野に入れているのだが、まずは無料のアプリを探している。


いまのサイトでは2.0.0と書いてあるのだが、ダウンロード先にあったのは3.0.0だった。
まあ、新しい分にはよいんじゃなかろうか。

violetumleditor-3.0.0.exe


さて、このViolet UML Editorだが、JRE 1.6以上が必要で、別途インストールがいる。
OpenJDKをインストールしているのだが、どうもそれでは認識してくれないようだ。
やむなく、Oracle JRE1.8をインストールした。
インストールされていない場合は、exeをたたくとJREダウンロードに飛ぶのでわかるだろう。
もしかしたら、WindowsでJAR版を使えばよかったのかもしれんが、今回は試していない。


速度は問題ないのだが、操作が私には難しかった。
まあ、説明も読まずに使っているのが悪いのだろうが。

  • 始点にActivation barを置かないと矢印が引けない(終点側のActivation barは自動で作られる)
  • Activation barのサイズが変更できなさそう。
  • というか、サイズの変更方法が全般的によくわからない。全自動?


惜しい。
もうちょっと我慢できれば、使ってよいかもしれんのだが、お絵かきに近い使い方をするのでActivation barの配置が必須なのとサイズ変更が自動っぽいのが私にとってはマイナスだった。


よし、次行ってみよう。


UMLetも試すことにした。

UMLet - Free UML Tools for fast UML diagrams
https://www.umlet.com/


うーん、私には分かりづらかった。
テキストでも打ち込めるのはよさそうなのだが、シーケンス図の線がうまく引けなかったのだ。

まあ、アプリのせいではなさそう(相変わらず使い方を調べてないため)だが、次行ってみよう。


ArgoUMLも。

argouml.tigris.org
http://argouml.tigris.org//

シーケンスのアクティブなバーがなさそうだった。
なくて良い場合もあるのだが、ほしい場合もあるのだ。
あと、マウスのホイールが使えない。


AmaterasUML。

https://github.com/takezoe/amateras-modeler

eclipseベースだが、そんなに重たくない。
シーケンス図は自動でサイズが決められるタイプだが、まあ、そこまでわかりにくくない。

同期・非同期の選択方法が分からなかったのだが、選択肢にして悪くないかもしれない。
自動でサイズが決まる、というのが、なかなか難しいですな。


もし時給で調査してるんだったら、有料版を買った方がお得なくらいに時間がかかっている・・・。

2019/07/06

[tools]UMLエディタを探し始めた (4)

UMLエディタ探しの初回は、eclipseのプラグイン?であるpapyrusだ。
https://www.eclipse.org/papyrus/
ちゃちゃっと記事にする予定だったのだが、使い方がさっぱり分からずに一週間経ってしまった。。。

まず、eclipseのインストール。
今の時点では4.4.X。
手順を見ると、eclipseのModeling Packageをインストールした後にコンポーネントを追加するのが良いらしい。
eclipseはダウンロードして展開するだけで良いのだが、手順にある「"Help" > "Install Modeling Component"」はなく、普通にHelp > Install New Softwareでインストールする。
<1.jpg>

インストールして再起動する。
ここからどうしたらいいのかわからなかったが、パースペクティブをPapyrusに変更するのがよさそうだ。
そうすると、Project ExplorerにPapyrus Modelを新規作成するようなリンクが出てくるので、クリック。








作成するのはUML。


プロジェクト名を適当に入力して、シーケンス図をチェック。


Finishすると、それっぽい画面が出てくる。



あとは部品を並べれば使えるようなのだが・・・eclipseだけあって重たい。
うちのPCのせいというのもあるだろうが、なかなかつらい。
あと、置いた部品の表示における上下関係が変更できない。
部品を複数選択するとメニューが有効になったのだが、動かしたいのは1つだけだしなぁ。
やり方が分かってないだけという気がするのだけど、直感で使えるかどうかはお絵かきするには大切なのだ。

というわけで、次のUMLエディタを探すとしよう。