Proces care se inchide cand inchid terminal ssh

M-am conectat prin ssh la openshift, am pornit un proces node.js in background cu &, cand m-am deconectat de la terminal ssh proces-ul s-a inchis automat, vreau un serviciu in cloud sa pot rula procese in background, m-am uitat putin la documentatia openshift si propuneau ceva cu cron, as vrea sa imi fac un cont la digital ocean low budget de 5$ dar ma intreb daca o sa am aceias problema, as vrea sa pot rula niste procese in background fara sa folosesc cron, si desigur sa am posibilitatea sa pot instala cam tot ce vreau pe masina respectiva python, node.js, librarii, sa fie un fel de jucarie low budget cu care sa experimentez data mining, crawlers, machine learning.

Eu as folosi screen pentru asta.

3 Likes

Incearca cu PM2 sau foreverjs.

1 Like

Am avut mai mult succes cu tmux care e o alternativa la screen
How to keep processes running after ending ssh session?

Cred ca openshift are ceva, tot mi-a inchis procesul dupa un timp, pana la urma mi-am luat un VPS cu CentOS, momentan am configurat sa mearga transfer FTP, si folosesc http://deploybot.com/ ca sa fac deploy direct din github folosind FTP anterior configurat pe server, intr-un final m-am prins care e faza si cu screen mersi @tekkie, am folosit ambele chestii si screen si forever si procesul de node.js ramane in picioare .

1 Like

Ai incecat nohup? L-am folosit si eu pentru ceva procese pe SAP ce erau mai naravase :).

nohup comanda-ta-ce-ramane &

2 Likes

Votez solutia lui Marius : nohup my-proc.sh & . Logul procesului se duce intr-un fisier care se cheama nohup.out si procesul ruleaza in continuare. Ramine in sarcina ta sa-l regasesti dupa PID si sa-l omori cind vrei asta.
O solutie mai eleganta e sa-ti creezi un serviciu Linux. Avantajul e ca serviciile pornesc la reboot si in general au comenzi de genul "service my-service start | stop | restart |status ".

2 Likes

Corect, e mai ok pentru ca va porni scriptul singur fara sa-i mai dea nohup.

Sau poti sa trimiti catre /dev/null output-ul.

Uite de ce folosesc eu screen:

One other good use for the detach and reattach is as a console-mode “remote desktop” feature. You can detach from a screen session at work, shell into the machine from home, and reattach. Very, very handy. With a bit of extra work, you can even have a number of terminals all attached to the same session–great for collaborative efforts and meetings.

(sursa).

Practic am facut screen sharing pe server cu colegii de cateva ori si am fost “pe spate” de cat e de usor si bine.

1 Like

Scren mi se pare mai bun pentru scripturi care interactioneaza cu adminul, iar ca exemplu as zice joburi long running carora trebuie sa le vezi progresul (gen instalari de diferite programele - anumite interfete ce necesita input pe parcursul lor, iar apoi raman sa ruleze in background o perioada -, schimb de fisiere intre servere, log collectors).

Pentru ceea ce vrea @adavidoaiei mi se pare mai redutabil nohup.

1 Like

nohup e ok. in loc de screen incearca byobu :smirk:

avantajul screen/byobu fata de nohup e ca si vezi ce face procesul ala daca e verbose