シェルスプリクト一発で、システムトレードの設定を一括で更新して、MT4を再起動したいとかそういうときあるじゃないですか。やってみました。
Windows で SSH サーバーを立てる
この前書きました。
Bitvise SSH Server にでストップとの対話を許可
コントロールパネルのサービスから、Bitvise SSH Server のプロパティを起動して、ログオン
のタブのデスクトップとの対話を許可
にチェックを入れてサービスを再起動。
SSHクライアントから特定アプリを終了させる
ssh windows-ssh-server "bash -c "ps -W | awk '/terminal.exe/,NF=1' | xargs kill -f""
SSHクライアントから特定アプリを起動する
PSToolsを使わないと、SSHクライアント上からstart
コマンドで起動しても、GUIが表示されない。
PSToolsを入手
PSToolsを取得するためのexpectスプリクトです。適当なファイル名に保存して、expect pstools.exp windows-ssh-server
とかで起動すればPSToolsの設定を勝手にやってくれます。
#!/usr/bin/expect
set pc_name [lindex $argv 0]
set prompt "(%|#|\$) $"
set timeout 5
spawn ssh $pc_name
expect -re $prompt
send "wget http://download.sysinternals.com/files/PSTools.zipn"
expect -re $prompt
send "unzip PSTools.zip -d /c/PSToolsn"
expect -re $prompt
send "rm PSTools.zipn"
expect -re $prompt
send "exitn"
expect eof
PSToolsを使ったWindows GUIアプリケーションの起動方法
ssh windows-ssh-server '/c/PSTools/PsExec.exe -i -d -s -accepteula \127.0.0.1 "/c/Program Files (x86)/MT4 Terminal/terminal.exe"'
コメント