slave.jar is meant to be launched by Jenkins, typically through a remote shell like ssh/rsh.
Jenkins master then communicates with this slave through stdin and stdout.

slave.jar is not meant to initiate a connection to the master on its own, so if you are trying to run
it from cron or as a service, you are misunderstanding how this works.

% java -jar slave.jar
WARNING: Are you running slave agent from an interactive console?
If so, you are probably using it incorrectly.

See Distributed builds for more details.