結論
exec.Command を利用する
exec.Command(`shutdown`, "-s", "-t", "0").Start()
注意点
exec.Command だけではなく、以下を呼び出す必要がある(でなければ、コマンドは実行されない)
- Output() // stdout
- CombinedOutput() // stdout, stderr
- Start() // プロセスの終了を待たない
- Run() // プロセスの終了を待つ
引数について
exec.Command(`shutdown`, "-s", "-t 0").Start()
では動かない。
どうやら、スペースで区切られたものをすべて切り出して引数にする必要があるらしい。("-t 0" -> "-t", "0" にしないと動かない)