agent.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.
agent.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.
See Distributed builds for more details.