Powershell でWindowsのサービスを強制的に再起動する
ときどきWi-Fiが使えなくなるときがあり(電波アイコンに赤いバツがつく),wlansvc サービスを再起動しようにもSTOP_PENDING状態で固まることがあった. なのでwlansvcを強制的に再起動するためのPowershellスクリプトを書いてみた.
あくまで応急処置であり,根本的解決策ではない.wlansvcが突然固まる原因は一体…(´・ω・`)
再起動したいサービス名を調べる
Get-Service
を引数なしで実行することでサービス一覧が表示される.後のコマンドではNameカラムに表示されるサービス名を使用する.
PS C:\WINDOWS\system32> Get-Service Status Name DisplayName ------ ---- ----------- Running AdobeARMservice Adobe Acrobat Update Service Running AESMService Intel® SGX AESM Running AGSService Adobe Genuine Software Integrity Se... Stopped AJRouter AllJoyn Router Service Stopped ALG Application Layer Gateway Service Stopped AppIDSvc Application Identity Running Appinfo Application Information Running Apple Mobile De... Apple Mobile Device Service Stopped AppMgmt Application Management Stopped AppReadiness App Readiness Stopped AppVClient Microsoft App-V Client Running AppXSvc AppX Deployment Service (AppXSVC) Stopped AssignedAccessM... AssignedAccessManager サービス Running AudioEndpointBu... Windows Audio Endpoint Builder Running Audiosrv Windows Audio // snip //
PIDを調べる
Get-WmiObject
コマンドを使ってWMIから調べる.Filter引数はSQLのWhere句のように書ける. %
はワイルドカード.
PS C:\WINDOWS\system32> Get-WmiObject -Class Win32_Service -Filter "Name LIKE 'wlan%'" ExitCode : 0 Name : WlanSvc ProcessId : 13564 StartMode : Auto State : Running Status : OK
PIDを抽出する
上記のようにサービスの詳細が出力できたら,あとは文字列加工をするのみ.
Linuxでいうgrepコマンドにあたる findstr
コマンドでProcessId
行のみを取り出し,cutコマンドの代わりに ForEach-Object
コマンド(省略形: %
)と split
演算子を組み合わせてPIDを抽出する.
PS C:\WINDOWS\system32> Get-WmiObject -class win32_service -filter "name='wlansvc'" | findstr ProcessId | % {$($_.split(":"))[1]} 13564
サービスを強制停止&起動
taskkill.exe /F /PID $WLANSVC_PID Start-Service -Name wlansvc
スクリプト
参考
僕の私のまあやお姉さん
この記事はまあやお姉さん Advent Calendar 2016 - Adventar16日目の記事です。
前回の記事は逆に今。まあやお姉さん。15でした。
さて,今回は番外編です.ゆーき大先生(id:yu_ki_kun_0)のレビュー記事を楽しみにしているみなさまには大変申し訳なく思います.
何を書こうか
この記事では,番外編として適当にまあやお姉さんの思い出を綴っていこうと思います.
続きを読むああ、なんくるねぇな
これは声優 Advent Calendar 2016 3日目の記事です。 昨日はyu_ki_kun_1さんの逆に今。まあやお姉さん。2 でした。
今回は沼倉愛美さんについて書こうと思います。 持っている感情を言葉にするのが難しいので、好きになったきっかけを淡々と思い出していきます。
はじめて知った日
なにも知らない私が声優さんに興味を持ち始めた2年前、まんがタイムきららフェスタ2014というイベントに参加したのがはじまりです。
元々は早見沙織さん目当てで恐る恐る参加したんですが、早見さん以外の声優を知らない自分にとって「声優さんっていいな…!」と思わされたイベントでした。
開演、そしてキャストの登場。いろんな声優さんが並ぶ中で「お…?頭にひまわりの髪飾り、赤いメガネ…とても綺麗な方がいる…」
その方が、沼倉愛美さんでした。
好きになったきっかけ
きらフェスのときはただその存在を知った程度でした。
ぬーさんについて本格的に興味を持ったのは今年の7月頃。
大学4年になり研究室に配属され、アイマスPである先輩からの執拗な洗脳布教活動によりアイマスに触れるようになりました。
ゲームやって、アニメを見て、ライブを見て…
あるときティンと来た瞬間がありました。 YouTubeに上がっていたアイマス10th BDの販促映像。ダイジェストなのになぜ30分もあるのか…と思いつつ眺めてると、序盤で水鉄砲を撃ちまくるぬーさんの姿が。
曲は楽しいし、会場も楽しそうだし、改めて意識した瞬間でした。
ニコ動とかで動画を漁ってると、765メンバーの末っ子キャラであったり不憫な扱いを受ける(そしてそれを悲しげに口にする)ぬーさんを見て、どこかギャップにやられたような気がします。
それ以来、ぬーさんが出演されてるアニメを少しづつ追いかけているところです。
好きなところ
アイマスの中でぬーさんが演じる我那覇響というキャラクターは、ポジティブで自信家で、その自信家ぶりから油断してドジをやらかすことがある面白いキャラクターです。 この長所と短所を表現するぬーさんの演技が個人的にツボです。 さっと例を挙げると「ふふーん♪」と「うぎゃー!!」とか。
また別作品では、"だがしかし"のサヤ師。 印象に残ってるのは、幼なじみであり小さい頃から恋心を抱くココノツとお祭りで一緒に歩くシーン。 単純に縁日を楽しむところもそうですが、やっぱり恥ずかしそうに照れながらココノツに話しかけるところが個人的にツボです。 あとこれ (http://www.nicovideo.jp/watch/sm28354656) がすき。
"蒼き鋼のアルペジオ"のタカオ。そしてTrident. もっと早く出会いたかった。 気高い雰囲気のキャラでありながら、ネタシーンでは気持ちのいいツッコミを入れるところが良いですね。アニメ10話は大号泣でした。
"魔法少女育成計画"のリップル。 ぬーさん曰く、リップルは9話からが本番だそうです。生きてくれ。
アニメ以外でも、ラジオや動画配信で見る・聴く姿はそれはまた素晴らしく、竹達彩奈さんとやっている初ラジでは「なんでこんな無防備な感じなんだ…」と思ってしまうような自由っぷりが楽しめます。
いろいろありすぎて書ききれない…のでここまで。
アーティスト活動
ぬーさんは11月にアーティストデビューされましたね。
1stシングル「叫べ」には3曲入っているんですが、すべて違った表情の歌なのです。 「叫べ」は感情をぶつけるような曲。「言の葉」は穏やか。「HEY!」ははしゃぐ曲。
特に「HEY!」に関しては、途中で「ふふっ」って囁き声が聞こえるんですけど、私はそこで息が絶えました。
東京で行われた握手会に行ってきたのですが、ふわっとした柔らかい手に感激したあまり、何も言えなくなってしまったのは良い思い出です。 横浜で行われたファンミーティングでのお渡し会ではちゃんとお話できてよかった…。
"とある撮影"と言われていた2ndシングル「Climber's High!」のMV撮影では、アー写と同じ姿のロックンローラー沼倉がライブハウスで大暴れしてました。 最後のテイクが始まってイントロが流れて、気合いが入りすぎた結果マイクを落とし恥ずかし笑いをするロックンローラー。これがすごい印象的でした。 CDもMVも楽しみです。
まとめ
好きという感情を言葉にして表すのはとても難しく、一言で魅力をまとめると
「良いんだよ…」
になってしまう私を許してください。
(すごいだらだらと書いていたら12/3を過ぎていました。ごめんなさい。)
"GDK_BACKEND does not match available displays"が出てX転送に失敗したときの確認事項
症状
タイトルの通り、SSH先でX転送しようとして GDK_BACKEND does not match available displays
とエラーが出た。
$DISPLAY
という環境変数も空の状態。
[user@remote ~]$ firefox Error: GDK_BACKEND does not match available displays [user@remote ~]$ echo $DISPLAY [user@remote ~]$
環境
- リモート側OS: Arch Linux
- OpenSSHのバージョン:openssh 7.3p1-1
- ローカル側OS: Windows10
- 使用クライアント: MobaXterm v9.1
sshd_configの設定確認
/etc/ssh/sshd_config
に以下のオプションを追記する。
X11Forwarding yes
sshdを忘れずに再起動する。
[user@remote ~]$ sudo systemctl restart sshd
再ログイン
一度ログアウトし、再度SSHログインする。
$DISPLAY
変数に情報が格納されるようになった。
[user@remote ~]$ echo $DISPLAY localhost:10.0
これにて解決。
Pacemaker + Corosync on Ubuntu 14.04でHAクラスタを構成する
Ubuntu 14.04でPacemaker + Corosyncを用いてHAクラスタを組んでみたのでメモ。
Pacemakerとは
Linux-HA Japanさんが日本語情報をまとめています。
ざっくりいえば、
- Pacemaker... アプリやノードやネットワークといったリソースを監視
- Corosync... ノード同士を接続してクラスタを形成
という感じでしょうか。 歴史は以下のページに。
第1回 Pacemakerの歴史を見てみよう!:Pacemakerでかんたんクラスタリング体験してみよう!|gihyo.jp … 技術評論社
この記事で書くこと
- PacemakerとCorosyncをインストール
- Corosyncの初期設定(ノード同士が繋がるのを確認するところまで)
リソースの設定などは書きません。
参考にしたURL
環境
- Ubuntu 14.04がインストールされたサーバ x3
- 適当なサーバ2台以上あればOK
インストール(全ノード)
ClusterLabsのQuickStartを参考にやっていきます。 まずはaptを使ってインストールしていきましょう。
# apt install pacemaker corosync fence-agents
Corosyncの設定(全ノード)
クラスタ制御ツールCorosyncの設定をしていきます。
/etc/corosync/corosync.conf
に追記した部分は以下の通り。
# editor /etc/corosync/corosync.conf totem { ... cluster_name: mycluster transport: udpu interface { ... bindnetaddr: 198.18.249.0 ... } } ... quorum { ... two_node: 1 wait_for_all: 1 last_man_standing: 1 auto_tie_breaker: 0 } ... logging { ... debug: on ... } nodelist { node { ring0_addr: controller-ha nodeid: 101 } node { ring0_addr: compute01 nodeid: 102 } node { ring0_addr: 198.18.249.121 nodeid: 103 } }
ポイント
bindnetaddr: 198.18.249.0
ring0_addr: controller-ha
ring0_addr
の値にはIPアドレス or 名前解決可能なホスト名を入力。
nodeid: 101
- 1つのノードに一意の番号を割り当てる。nodeidが被っているとクラスタが組めない。
この設定を全ノードに行います。1つのノードで設定して他ノードにコピーすればいいのか。
起動(全ノード)
Corosync起動→Pacemaker起動の流れ。
# corosync # service pacemaker start
なぜかservice corosync start
が何も反応なく、しかたなくプログラムを直接実行するという。。。
CorosyncがうまくいかないとPacemakerは落ちます。
クラスタ確認
本当にクラスタが組めているか確認します。操作はどれか1つのノードで行います。
# crm_mon Last updated: Sun Dec 13 11:44:44 2015 Last change: Sat Dec 12 16:17:24 2015 via crm_attribute on controller-ha Stack: corosync Current DC: controller-ha (101) - partition with quorum Version: 1.1.10-42f2063 3 Nodes configured 0 Resources configured Online: [ compute01 198.18.249.121 controller-ha ]
設定したノードがすべてOnlineとなっていればOKです。
おまけ:Pacemakerのログを出力する
ログはdebug出力してほしい…君のすべてを知りたい…ということでおまけです。 (すべてを知りたければソースコードからお付き合いでしょうか。あるいは開発者と仲良くなることでしょうか。)
Pacemakerのログレベルについては/etc/default/pacemaker
を編集することで設定できます。例によって変更点のみ。
# editor /etc/default/pacemaker export PCMK_debug=yes export PCMK_debugfile=/var/log/pacemaker.log export PCMK_logpriority=debug
PCMK_logpriority
はなんとなく設定しましたが、syslogに出力するログレベルなのでなくてもいいかもです。
おしまい
「Corosyncの設定を全ノードしなきゃいけないの?スケールアウトするとき大変だ…」という人にはpacemaker-remoteというものもあります。 肝心のリソース設定は他の記事にお任せします…と思ったけれど、大体がCentOSでやっていてUbuntuでの日本語記事ってあんまりない気がするので、そのうちApacheのHAの設定やってみます。
ボーイミーツガール
こんにちは。
これは
この記事はwhywaita Advent Calendar 2015 12日目の記事です。 昨日は id:neotaso さんの 第1.0羽 「ひと目で、尋常でない第1羽と見抜いたよ」(Advent Calendarの記事) - neotaso’s blog でした。私は青山さん?という女性がすきです。あとは1羽のお風呂シーンで登場する"でっていう"ニキもすきです。
はじめに
このアドベントカレンダーのほとんどは、whywaita氏の良さを紹介するものか、氏に関係ない記事になるだろうと思っています。
せっかくなので彼に対する恨みつらみ妬み嫉みとかあることないこと適当に書いてみようと思います。
whywaita 女の子説
インターネットのみなさん、whywaitaという人間はおそらく女の子です。
私が彼を女の子と呼ぶにはいくつか理由があります。
1. にゃーん
(ツイ略)
女の子がいうとかわいい。
女の子がいうとかわいい。。。
でも「にゃーん」がありなら、犬っぽく「クゥーン」とか言ってもかわいいとおもいますよ、まる。
2. 手を振る
現実世界で彼と会うと、まず手を振ってくれます。 知人を見つけると皇族ばりに手を振ります。 相手がそれに気付かないと「気付いてくれなかった・・・」と寂しそうにつぶやきます。
3. 字がきれい
とても字がきれいです。読みやすいです。字が丸っこくてかわいらしいです。
ラブレターでも書かれたらおしまいです。要注意です。
4.「もっとお話したいなー」
なんか細かい部分は忘れましたが、ときどき「お前は彼女か!?」とツッコミを入れたくなるときがあります。
彼が姫だとしたら囲ってる男子はみなコロッと落ちてしまいます。危険です。
5. 女性声優の真似をする
whywaitaは女性声優の演技をシャドーイングします。早見さんのラジオのジングルをシャドーイングするのやめてください。怒りますよ。
6. 女の子役が得意
男を落とすテクニックを所持。
www.slideshare.netというわけで
whywaitaは女の子です。
なんか他にも書こうとしてたことがあったような気がする。カラオケいくと低い音域から高い音域まで出るとか。ダイエットしろとか。痩せないとインターネッツ取り上げるぞとか。まあいいや。おしまい。
July Tech Festa 2015に行ってきました
JTF2015 (July Tech Festa) に行ってきました。
自分はお昼から参加しました。参加費1000円(早割だと500円)でフリードリンク、お菓子食べ放題、お弁当支給(ハンバーグ弁当とかタコライスとかいろいろあった)。非常に素晴らしいサービスでした。
どのセッションもとても興味深かったです。もっといろいろ見たかった。
以下、セッションのメモ。
Modern DevOps with Mackerel
by はてなCTO 田中さん
DevOpsとは?
- CommunicationやCollaboration、Automationなどを軸にしたソフトウェア開発
CommunicationやCollaboration
- アプリケーションエンジニアとインフラエンジニアの協調作業
チームの仲が悪くなる
- それぞれがそれぞれの目標に最適化されてしまっている
- 同じ目標に向くことが大切
Integraton, Automation, Measurement
- 脱職人技*脱属人性
- 効率向上
- 再現を容易に
- 誰かがやったことをそのまま再現できると、脱属人性につながる
Modern DevOpsとは?
- 高速なテスト、デプロイ
- インフラの自動化と効率向上
- Immutable Infrastructure
- Infrastructure as Code
- 各社様々な取組
インフラの自動化と効率向上
- 構築(新規、変更)あれいれたい!減らしたい!
- 観測、監視
ここ2,3年で流行してるのが、下の2つ。
Immutable Infrastructure
- できるだけサーバに状態を持たせない。
- 可能なものと不可能なものがある。不可能な例→DB
- Immutableにできれば考えることが減る。
- 簡単に作り直せるように
- The Twelve-Factor App(Heroku)の考え方
Infrastructure as Code
- インフラの設定をコードで管理
- 長いスパンでサーバを管理するには必須になってくる。
インフラ構築の道具
- プロビジョニング
- ansible/chef/puppet
- CI
- serverspec
- デプロイ
- Capistranoなど
- AWSだとCloud Formationとか
デプロイの高速化
- CIの活用
- Jenkins/CI環境でイメージを自動作成
- Docker, AWSならamiを用意しておくことで容易にデプロイ
- ChatOps
Staging環境への自動デプロイ
- 自動デプロイ
- git pushトリガでproxy設定まで自動化
- 自動停止
- ゴミを残さない
インフラ状態の一元管理
Mackerelとは
インフラの状態をAPIで取得可能
- ホストの状態の更新はPOSTで出来る
tmux-sshでまとめてssh
Capistrano連携
- deploy.rbにIPアドレス等をハードコーディングしなくていい
Ansible Dynamic Inventory
Webhook+hubot
- アクションの自動化
- アラート→再起動、など
AutoScaling
- mackerle-agentを組み込むと自動的に反映される
監視ルールAPI
- 近日公開予定
- 監視ルールのCRUDをサポート
- (CRUD... http://e-words.jp/w/CRUD.html)
- GitHub->Mackerel 反映
- Mackerel->GitHub 書き戻し
開発ツールのクラウド化
- Github,TravisCI,CircleCI
実行環境もクラウドへ
- AWS、GCEなど
運用ツールもクラウドに
- infrastructure as codeの推進
- インフラの一元管理DBとしてのMackerel
ひしめき合うオープンソースPaaSを徹底解剖! PaaSの今と未来
by PaaS勉強会 草間さん
OpenPaaS
Cloud Foundry
-
- Public PaaS
- IBM Bluemixなど
- NTT-Com Cloundn PaaS
- Private PaaS
- Public PaaS
DEMO
- phpファイルをCloud Foundry上にデプロイ
$ cf push <app-name>
別のPaaSサービスに向ける
$ cf api <APIサーバ>
- 今回はcloudnからbluemixにAPIを変更した。
スケールも簡単
$ cf scale <app-name> -i <count of instance> -m <memory size>
CFのメリット
- ベンダーロックインが防げる
- たくさんのベンダーさんがサービスを提供している
CFのデメリット
オンプレにCFのデプロイが死ぬほど大変(1日かかったり)
Dockerは使えないの?
- CFはDocker使ってない。次期バージョンでDocker imageサポート。
Dockerが使えるPaaSはないの?
- OpenShift
OpenShift
- RedHatが開発
- OpenShift v3...Docker PaaSとして生まれ変わった。今までを捨てた。
- KubernatesをコアにしたPaaS
- Kubernatesの開発にRedHatが深くかかわっている。Kuberの概念を取り込み
- JSONでいろいろ定義。長い。その分いろいろ設定できる。
- Webhookにも対応。これはPaaSの中ではOpenShiftのみ。
- 開発早い。
- KubernatesをコアにしていてPaaSっぽさがない?
Deis
Docker + CoreOSをベースとしたPaaS
DEMO
$ deis create
- git上にリモートrepoが設定される。
$ deis scale web=5
- スケーリング
- herokuライク。
- スケジューリングが遅い。
Flynn
- Docker PaaS
- Heroku CloneのDokkuの開発者も関与
- DEMO
$ flynn create
- git上にリモートrepoが設定される。
Heroku互換のBuild Packを使ってる
メリット
- シンプルかつモジュラーでカスタマイズしやすい
- スケジューリングもDeisよりはやめ
- スケール早い(3→5台で、2.2秒)
- デメリット
- 開発の継続力に不安
- どこまでメンテし続けられるか
- スケジューラが賢くない(デプロイ先をランダムで決める。ただその分早い)
- 開発はほとんどGo。流行り。
4つ見てみて
PaaS使いたいなら
- まずはPublic PaaS
Private PaaS構築は?
- あまり実例ない。
- 準備が死ぬほど大変。
- 自由があまり効かない。
優れた仕組みを積極的に取り入れていくのは大切。
- Docker
- 構成管理ツール
- Fluentd
- など
- ただ規模が大きくなるにつれ複雑になり、メンテが出来なくなってくる。引継ぎコストも無視できなくなる。
- 自前で似たような構成を作るならOpenPaaSを採用してダクトテープ(継ぎはぎのテープ)を捨てませんか。
OpenPaaSの未来
- ネットワーキングの強化
- あらゆるサービスの「ハブ」に