2014-12-29 13 views

Trả lời

20

Sau khi đào một số, tôi đã phát hiện ra rằng những gì tôi đang tìm kiếm là dấu gạch ngang kép trên Linux.

Mã bình thường,

node --expose-gc bin/www arg1 arg2 arg3 

Cùng mã sử dụng PM2

pm2 start bin/www --node-args="--expose-gc" -- arg1 arg2 arg3 

Tất cả v8 luận bạn phải đặt bên --node-args và tất cả args Scrips để được nắm lấy từ process.argv bạn cần phải đặt sau dấu gạch ngang kép.

Tôi hy vọng rằng trong tương lai, họ sẽ triển khai liên kết --script-args = "arg1 arg2 arg3". Sẽ rất tốt cho những người không phải là một chuyên gia về Linux.

17

Cách khác là tạo tệp khai báo ứng dụng json nơi bạn chỉ định khóa args. Hãy xem documentation trên trang web PM2.

Ví dụ về pm2.json file:

{ 
    "apps" : [{ 
    "name"  : "appname", 
    "script"  : "app.js", 
    "args"  : ["-s", "123"], 
    "node_args" : "--harmony", 
    "merge_logs" : true, 
    "cwd"   : "/this/is/a/path/to/start/script", 
    "env": { 
     "NODE_ENV": "production" 
    } 
    }] 
} 

Và chạy nó như sau:

$ pm2 start pm2.json 
0

tôi đã để lộ-gc trong process.js PM2 của tôi vì vậy tôi đã làm như sau:

{ 
    "apps" : [ 
    { 
     "name"  : "app", 
     "script"  : "bin/www", 
     "instances" : 2, 
     "exec_mode" : "cluster", 
     "watch"  : false, 
     "node_args" : "--expose-gc", 
     "env"   : {"NODE_ENV": "development"} 
    } 
    ] 
} 
2

bạn có thể thêm bất kỳ đối số tùy chỉnh nào sau -x --,

pm2 start app.js -x -- --prod

và lập luận nút như --node-args="--harmony"

pm2 start app.js --node-args="--harmony"

Cả

pm2 start app.js --node-args="--harmony" -x -- --prod

+0

Đối sailsJS, tham khảo của tôi này ans cho cụ thể hơn: http://stackoverflow.com/a/32282896/2837412 –

Các vấn đề liên quan