-------- Original Message -------- Subject: [Box-Admins] How does Jenkins start? From: Frank Shearar frank.shearar@gmail.com Date: Sun, February 09, 2014 6:49 am To: Squeak Hosting Support box-admins@lists.squeakfoundation.org
I see all too often that builds fail because the JVM process runs out of PermGen space. Up until today I'd assumed that was a problem on the build agents. However, today I bounced my Mac mini (latest victim of this problem) and... nothing happened. But when I bounced _Jenkins_ the build succeeded.
Jenkins, being a Java process, does have a bunch of knobs that can be used to adjust GC. How does Jenkins get started? What keeps it running?
Or, meta-question, how can I find this out for myself, and reduce the noise on the list? :)
frank
I'm not aware of any easy way to answer this without some prior knowledge. But here is how I'm finding the answer:
So first of all I know we like to use DJB's daemontools sometimes which provides a way to start and maintain services. If jenkins is started via daemontools then there will be a supervise process running with an argument probably called jenkins or the like which names a directory/link to directory under the daemontools service directory which is commonly found under /service/.
kencausey@box3-squeak:~$ ls -l /service/ total 0 lrwxrwxrwx 1 root root 14 Nov 14 03:23 ssdotcom -> /home/ssdotcom lrwxrwxrwx 1 root root 12 Jan 1 2013 tinydns -> /etc/tinydns
Neither of these seem relevant, so daemontools is not used.
The next lower level to check is in /etc/init.d/
kencausey@box3-squeak:~$ ls -l /etc/init.d/ ... -rwxr-xr-x 1 root root 5867 Jun 25 2012 jenkins ...
So the basic answer is that this program/script is run by the init system to start jenkins.
Ken