Merge branch 'development'
[KiwiIRC.git] / server / helpers / launcher.js
CommitLineData
dce0ada5
JA
1var kiwi_app = '../kiwi.js';\r
2var pidfile = '../../kiwiirc.pid';\r
7735c462 3var pidfile_arg;\r
11dbb00f 4\r
98a31346 5// Check if a pidfile has been set as an argument\r
7735c462
D
6if (process.argv.indexOf('-p') > -1) {\r
7 pidfile_arg = process.argv[process.argv.indexOf('-p') + 1];\r
8\r
9 if (pidfile_arg) {\r
10 // Don't set the relative path if we have an absolute path given to us\r
11 if (['/', '\\', '.'].indexOf(pidfile_arg[0]) === -1) {\r
dce0ada5 12 pidfile = '../../' + pidfile_arg;\r
7735c462
D
13 } else {\r
14 pidfile = pidfile_arg;\r
15 }\r
98a31346
D
16 }\r
17}\r
11dbb00f 18\r
7735c462 19\r
11dbb00f
D
20var daemon = require('daemonize2').setup({\r
21 main: kiwi_app,\r
22 name: 'kiwiirc',\r
98a31346 23 pidfile: pidfile\r
11dbb00f
D
24});\r
25\r
26switch (process.argv[2]) {\r
27 case '-f':\r
28 require(kiwi_app);\r
29 break;\r
30\r
31 case 'start':\r
32 daemon.start();\r
33 break;\r
34\r
35 case 'stop':\r
36 daemon.stop();\r
37 break;\r
38\r
39 case 'restart':\r
40 daemon.stop(function(err) {\r
41 daemon.start();\r
42 });\r
43 break;\r
44\r
45 case 'status':\r
46 var pid = daemon.status();\r
47 if (pid)\r
48 console.log('Daemon running. PID: ' + pid);\r
49 else\r
50 console.log('Daemon is not running.');\r
51 break;\r
52\r
88f14637
D
53 case 'reconfig':\r
54 console.log('Loading new config..');\r
55 daemon.sendSignal("SIGUSR1");\r
56 break;\r
11dbb00f 57\r
5658034d
D
58 case 'stats':\r
59 console.log('Writing stats to log file..');\r
60 daemon.sendSignal("SIGUSR2");\r
61 break;\r
62\r
531d0e52 63 case 'build':\r
dce0ada5 64 require('./build.js');\r
531d0e52 65 break;\r
98a31346 66\r
11dbb00f 67 default:\r
98a31346 68 console.log('Usage: [-f|start|stop|restart|status|reconfig|build [-c <config file>] [-p <pid file>]]');\r
da0ec4f7 69}\r