スレーブエージェントとプログラムの起動に使用するコマンドで、スレーブのコンピュータの制御、 マスターとの通信を行います。

### JNLPスレーブエージェント

JNLPでスレーブエージェントを起動する場合は空欄のままにします。 この設定を行うと、スレーブ情報ページ (hudson/computer/***/) にJNLPの起動アイコンが表示され、 正しいスレーブマシーンからこのリンクをクリックすると、JNLPでスレーブエージェントを起動できます。

このモードは、リモート実行の仕組みを持っていないWindowsのスレーブを使用する場合に便利です。

### ssh/rshスレーブエージェント

この項目にコマンドが指定されたとき、マスターでこのコマンドが実行されます。そして、 Hudsonは、その実行コマンドが正しいスレーブマシーン上で`slave.jar`を起動することを想定しています。

`slave.jar`のコピーが、`hudson.war`の中の`WEB-INF/slave.jar`にあります。

シンプルなケースでは、このコマンドは"ssh hostname java -jar ~/bin/slave.jar"のようなものになります。 しかし、PATHのようなこのスレーブノード独自の環境変数を設定するのと同時に、javaやslave.jarの場所を制御できるように、 　スレーブに以下のような小さいシェルスクリプトを書くのはいい考えです。

    #!/bin/sh
    exec java -jar ~/bin/slave.jar

You can use any command to run a process on the slave machine, such as RSH, as long as stdin/stdout of this process will be connected to "java -jar ~/bin/slave.jar" eventually.

スレーブがたくさん配置されている場合、NFSでマウントされた共通の場所から、 `slave.jar`をロードすることは考える価値があります。 そうすれば、Hudsonを更新するごとにこのファイルを更新する必要がありません。

"ssh -v ホスト名"とすると、接続確認するのに便利です。 issue.