47
votes

I have an electron app which uses pm2 to start some apps using the pm2 module.Everything is fine.However I am trying to implement the following feature:Renaming an app you have started.I know that using the cli I can do the following:

pm2 restart app --name"New name";

So I found the pm2.restart function which takes an Object and a callback as a parameter.So I tried this:

var options = {app:"Blogsport App",name:"New name"};
var callback = function(err){
   if(err) {console.log('Failed')}
   else {console.log('App renamed')}
};

pm2.restart(options,callback);

This will always log "App renamed".However If I do pm2 list I see that the app has not be renamed.Is there anything I can do to rename an app without deleting it and start it again with a different name?

2
try adding the --update-env param in options - Pogrindis
How can I do this? - Manos Kounelakis
just for a test you could write something like exec('pm2 restart app --name "New name"', function(err, stdout, stderr){ if(err) console.log(err);} etc.. See if it's working that way, if so then it might be a bug ? you will need child_proc var exec = require('child_process').exec; - Pogrindis
I will be able to test in an hour or so - Pogrindis
I know I can do this with exec by replacing app with my app name but I would prefer to do this using the pm2 if that's possible - Manos Kounelakis

2 Answers

123
votes

you can try this:

pm2 restart id --name newName

Example: your id is 1 , then you can type : pm2 restart 1 --name development

13
votes

you can do


pm2 delete id|name  
pm2 start app.js -n newname

or

pm2 restart id|name -n newname