คำตอบที่ได้รับการยอมรับขอแนะนำให้ใช้nohup ผมค่อนข้างจะแนะนำให้ใช้PM2 การใช้pm2บนnohupมีข้อดีหลายประการเช่นทำให้แอพพลิเคชั่นยังมีชีวิตอยู่รักษาไฟล์บันทึกการใช้งานและคุณสมบัติอื่น ๆ อีกมากมาย สำหรับรายละเอียดเพิ่มเติมตรวจสอบนี้
การติดตั้งPM2คุณต้องดาวน์โหลดNPM สำหรับระบบที่ใช้ Debian
sudo apt-get install npm
และสำหรับ Redhat
sudo yum install npm
หรือคุณสามารถปฏิบัติตามคำแนะนำเหล่านี้ หลังจากติดตั้งnpm ให้ใช้เพื่อติดตั้งpm2
npm install pm2@latest -g
เมื่อเสร็จแล้วคุณสามารถเริ่มต้นแอปพลิเคชันของคุณได้
$ pm2 start app.js # Start, Daemonize and auto-restart application (Node)
$ pm2 start app.py # Start, Daemonize and auto-restart application (Python)
สำหรับการตรวจสอบกระบวนการใช้คำสั่งต่อไปนี้:
$ pm2 list # List all processes started with PM2
$ pm2 monit # Display memory and cpu usage of each app
$ pm2 show [app-name] # Show all informations about application
จัดการกระบวนการโดยใช้ชื่อแอพหรือรหัสกระบวนการหรือจัดการกระบวนการทั้งหมดเข้าด้วยกัน:
$ pm2 stop <app_name|id|'all'|json_conf>
$ pm2 restart <app_name|id|'all'|json_conf>
$ pm2 delete <app_name|id|'all'|json_conf>
สามารถดูไฟล์บันทึกได้
$HOME/.pm2/logs #contain all applications logs
ไฟล์เรียกทำงานไบนารีนอกจากนี้ยังสามารถเรียกใช้โดยใช้ pm2 คุณต้องทำการเปลี่ยนแปลงในไฟล์ jason เปลี่ยน"exec_interpreter" : "node"
ไปเป็น"exec_interpreter" : "none".
(ดูที่ส่วนคุณลักษณะ )
#include <stdio.h>
#include <unistd.h> //No standard C library
int main(void)
{
printf("Hello World\n");
sleep (100);
printf("Hello World\n");
return 0;
}
รวบรวมรหัสข้างต้น
gcc -o hello hello.c
และรันด้วย np2 ในพื้นหลัง
pm2 start ./hello