rename process using pm2 programmatic api
Asked Answered
C

3

78

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?

Concha answered 7/6, 2018 at 8:15 Comment(7)
try adding the --update-env param in optionsCatron
How can I do this?Concha
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;Catron
I will be able to test in an hour or soCatron
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 possibleConcha
So just looking at restart can you try : pm2.restart(options,{rawArgs : ["--update-env"] },callback); ? or add the rawArgs attribut in the options variable.. As I say I will be able to test in 1 hour : github.com/Unitech/pm2/blob/master/lib/API.js#L1434Catron
OK .I tried both methods but to no avail.Concha
I
224

you can try this:

pm2 restart id --name newName

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

Irv answered 20/2, 2019 at 2:36 Comment(1)
If you've previously dumped your processes I would suggest running pm2 save afterwards to synchronize your changes with saved process list.Cocainize
N
22

you can do


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

or

pm2 restart id|name -n newname
Nemhauser answered 27/8, 2019 at 6:4 Comment(0)
W
3
pm2 ls

to see your app id

then you have two options delete and start again

pm2 delete <id> 
pm2 start index.js --name newname

or just restart to keep same id

pm2 restart <id> --name newname
Woolly answered 7/4, 2022 at 9:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.