Adding 'loaded' event to kiwi.events
[KiwiIRC.git] / server / server.js
... / ...
CommitLineData
1var kiwi_app = './kiwi.js';\r
2var pidfile = '../kiwiirc.pid';\r
3var pidfile_arg;\r
4\r
5// Check if a pidfile has been set as an argument\r
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
12 pidfile = '../' + pidfile_arg;\r
13 } else {\r
14 pidfile = pidfile_arg;\r
15 }\r
16 }\r
17}\r
18\r
19\r
20var daemon = require('daemonize2').setup({\r
21 main: kiwi_app,\r
22 name: 'kiwiirc',\r
23 pidfile: pidfile\r
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
53 case 'reconfig':\r
54 console.log('Loading new config..');\r
55 daemon.sendSignal("SIGUSR1");\r
56 break;\r
57\r
58 case 'stats':\r
59 console.log('Writing stats to log file..');\r
60 daemon.sendSignal("SIGUSR2");\r
61 break;\r
62\r
63 case 'build':\r
64 require('../client/build.js');\r
65 break;\r
66\r
67 default:\r
68 console.log('Usage: [-f|start|stop|restart|status|reconfig|build [-c <config file>] [-p <pid file>]]');\r
69}\r