added 'service' console command
Bryan Roe committed
Jul 1, 2020 at 13:15 UTC
c2b8da3cd994c6717a35dee5adcff8d4897febb7
1 file changed
+31
-1
agents/meshcore.js
+31
-1
@@ -2245,7 +2245,7 @@ function createMeshCore(agent) {
2245
var response = null;
2246
switch (cmd) {
2247
case 'help': { // Displays available commands
2248
- var fin = '', f = '', availcommands = 'fdsnapshot,fdcount,startupoptions,alert,agentsize,versions,help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,amt,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,amtreset,amtccm,amtacm,amtdeactivate,amtpolicy,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,scanamt,wallpaper';
2248
+ var fin = '', f = '', availcommands = 'service,fdsnapshot,fdcount,startupoptions,alert,agentsize,versions,help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,amt,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,amtreset,amtccm,amtacm,amtdeactivate,amtpolicy,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,scanamt,wallpaper';
2249
if (process.platform == 'win32') { availcommands += ',safemode,wpfhwacceleration,uac'; }
2250
if (process.platform != 'freebsd') { availcommands += ',vm';}
2251
if (require('MeshAgent').maxKvmTileSize != null) { availcommands += ',kvmmode'; }
@@ -2260,6 +2260,36 @@ function createMeshCore(agent) {
2260
response = "Available commands: \r\n" + fin + ".";
2261
break;
2262
}
2263
+ case 'service':
2264
+ if (args['_'].length != 1)
2265
+ {
2266
+ response = "Proper usage: service status|restart"; // Display usage
2267
+ }
2268
+ else
2269
+ {
2270
+ var s = require('service-manager').manager.getService(process.platform == 'win32' ? 'Mesh Agent' : 'meshagent');
2271
+ switch(args['_'][0].toLowerCase())
2272
+ {
2273
+ case 'status':
2274
+ response = 'Service ' + (s.isRunning() ? (s.isMe() ? '[SELF]' : '[RUNNING]') : ('[NOT RUNNING]'));
2275
+ break;
2276
+ case 'restart':
2277
+ if (s.isMe())
2278
+ {
2279
+ s.restart();
2280
+ }
2281
+ else
2282
+ {
2283
+ response = 'Restarting another agent instance is not allowed';
2284
+ }
2285
+ break;
2286
+ default:
2287
+ response = "Proper usage: service status|restart"; // Display usage
2288
+ break;
2289
+ }
2290
+ if (process.platform == 'win32') { s.close(); }
2291
+ }
2292
+ break;
2293
case 'zip':
2294
if (args['_'].length == 0)
2295
{