Αποδέσμευση προγράμματος από την κονσόλα

Χαιρετώ την ομάδα!

Ήθελα να ρωτήσω αν ξέρετε κάποιον τρόπο αν όταν εκκινούμε κάποια γραφική εφαρμογή μέσω του τερματικό μπορούμε να την αποδεσμεύσουμε από αυτό και να μπορούμε να το κλείσουμε χωρίς πρόβλημα.

1 Like

Νομιζω καπως ετσι:

DISPLAY=:0 firefox &

Στο τελος της εντολης το & θα εκτελεσει το προγραμμα ακομα και οταν το τερματικο θα κλεισει, και θα την τερματισει μονο εαν την κλεισεις κανονικα (ή αν κρασαρει απο μονη της).

δοκιμασε το και πες μας αν σου δουλεψε οπως το θες.

1 Like

Δυστυχώς δεν δούλεψε…

Δοκίμασε να κλείσεις το τερματικό με Ctrl + D

2 Likes

Αυτό δούλεψε, ευχαριστώ πολύ!!!

edit: Από περιέργεια και επιθυμία για γνώση, γιατί δούλεψε αυτό; Θέλω να πω, τι διαφορετικό συμβαίνει από κάτω με το Ctrl+D, σε σχέση με το απλό κλείσιμο του παραθύρου;

2 Likes

Το Ctrl + D σημαίνει τέλος αρχείου(End of File), δηλαδή λές στο κέλυφος ότι δεν θα δεχτεί άλλες εντολές, ενώ το Ctrl + C σημαίνει διακοπή(interrupt), δηλαδή σταμάτα ότι κάνεις.
Ρίξε μια ματιά εδώ στην απάντηση : https://www.quora.com/What-is-the-difference-between-typing-Ctrl+C-and-Ctrl+D-in-the-Linux-terminal

1 Like

Ευχαριστώ πολύ!

PS: Ψάχνω να βρω πώς μαρκάρουμε ένα ποστ σαν “λύση” του θέματος αλλά δεν βρίσκω…

1 Like

Στο καφενείο χρηστών δεν υπάρχει αυτή η επιλογή διότι δεν δημιουργήθηκε για υποστήριξη αλλά για κουβέντα.

2 Likes

Ο σωστός τρόπος είναι

nohup program -option &
3 Likes

Ενημερωτικά υπάρχει και το ‘ctrl +z’ και μετά πληκτρολογούμε ‘bg’ μετά κλίνουμε το τερματικό και το πρόγραμμα μένει ανοιχτό.

Με το που θα κλείσει το τερματικό θα στείλει το σήμα HUP σε κάθε πρόγραμμα που βρίσκετε στο process tree κάτω από αυτό. Η εξορισμού συμπεριφορά αν ένα πρόγραμμα λάβει αυτό το σήμα είναι να τερματίσει.

Ο σωστός τρόπος λοιπόν είναι μόνον αυτό που έδωσα. Αλλιώς θα πρέπει να κρατήσεις το τερματικό ανοικτό.

4 Likes

Η nohup είναι η τυπικά σωστή απάντηση στην συγκεκριμένη ερώτηση, αλλά προσωπικά χρησιμοποιώ το εργαλείο screen γιατί είναι πολύ πιο ισχυρό εργαλείο, δίνει πολύ αμεσότερο έλεγχο και η nohup έχει υπάρξει λίγο απρόβλεπτη, δεν ξέρω τι μού είχε διαφύγει, πάνε και χρόνια, αλλά προτιμώ απλά να έχω τον έλεγχο.

2 Likes

Μπορεί να έχεις δίκιο σε αυτό που λες αλλά Οχι το προγραμμα μένει ανοιχτό δοκίμασε και θα δεις

έχεις δίκιο, και ο Talos έχει δίκιο.

Κάτι που σημαίνει πως ένα πρόγραμμα μπορεί να επιλέξει να κάνει χειρισμό αυτό του σήματος και να μην τερματίσει. Αυτό μπορεί να γίνει σε κάθε διαφορετικό σήμα που θα πάρει το πρόγραμμα από το λειτουργικό, εκτός από ελάχιστα. Ένα πρόγραμμα μπορεί να αγνοήσει επίσης το ctrl-Z που αναφέρεις. Είναι το σήμα SIGTSTP, αλλά δεν ξέρω κανένα πρόγραμμα που να το κάνει.

Ελάχιστα προγράμματα κάνουν χρήση αυτής της δυνατότητας και σχεδόν όλλα θα τερματίσουν. Κάνε δοκιμές με διάφορα προγράμματα για να πεισθείς. Για παράδειγμα στο mint το xed και το nemo δεν κάνουν trap το σήμα.

Οι δαίμονες του συστήματος επίσης δεν τερματίζουν, αλλά αυτοί χρησιμοποιούν ένα άλλο μηχανισμό που τους αποσυνδέει από το τερματικό.

Οι δαίμονες του συστήματος δεν τερματίζουν επίσης, αλλά αυτές χρησιμοποιούν ένα άλλο μηχανισμό και αποσυνδέονται από το τερματικό.

1 Like