THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Linux / Unix => Topic started by: Aurelius on March 17, 2010, 12:09:18 pm



Title: Terminal και background processes
Post by: Aurelius on March 17, 2010, 12:09:18 pm
Το δευτερο προβλημα ειναι με τα background processes. Θεωρητικα, οταν στην κονσολα γραφεις για παραδειγμα

kate mytextfile.txt &

ανοιγει το αρχειο και βαζει το process στο background. Βεβαια, οταν κλεισω το terminal, κλεινει και το kate(ή προφανως οποιοδηποτε αλλο προγραμμα). Υπαρχει καποιος τροπος να μην κλεινει, δηλαδη να μπαινει στο background και να μην εξαρταται απο το process του terminal;



Title: Re: Terminal και background processes
Post by: antares on March 17, 2010, 12:45:58 pm
Ναι, γίνεται. Χρησιμοποιείς το nohup πριν την εντολή σου. Π.χ.

Code:
nohup kate mytextfile.txt &

Περισσότερα δες man nohup


Title: Re: Terminal και background processes
Post by: Aurelius on March 17, 2010, 15:04:52 pm
Τελεια :)


Title: Re: Terminal και background processes
Post by: Aurelius on March 17, 2010, 15:09:52 pm
Οταν κανω

nohup matlab &

ξεκιναει το matlab αλλα δεν εμφανιζεται το gui. Ωστοσο σαν process υπαρχει. Ξερεις γιατι;


Title: Re: Terminal και background processes
Post by: SolidSNK on March 17, 2010, 15:30:14 pm
Εγώ το κάνω αλλιώς, χρησιμοποιώντας sessions (ομάδες από processes - long story :P) . Εύκολα στο bash μπορείς να δημιουργήσεις νέα session με το setsid command.

Code:
$setsid matlab

και ur done


Title: Re: Terminal και background processes
Post by: SolidSNK on March 17, 2010, 15:32:40 pm
Basically δεν έχεις πλέον controlling terminal για να στείλει το SIGHUP. Εφόσον είναι GUI app δε σε νοιάζει... γίνεται αυτό που θες τώρα aurelius?


Title: Re: Terminal και background processes
Post by: antares on March 17, 2010, 15:34:58 pm
Δεν το γνωρίζω για αν παίζει για GUI εφαρμογές. Το matlab πάντως μπορεί να τρέξει χωρίς GUI με το option -nodesktop

Οταν κανω

nohup matlab &

ξεκιναει το matlab αλλα δεν εμφανιζεται το gui. Ωστοσο σαν process υπαρχει. Ξερεις γιατι;


Title: Re: Terminal και background processes
Post by: Aurelius on March 17, 2010, 16:44:28 pm
Θα τα κοιταξω αναλυτικα.

Το ξερω, οτι υπαρχει και non-desktop, πλεον μιλας σε matlab guru :P. Απλα θελω το GUI. O firefox ανοιγει κανονικα.


Title: Re: Terminal και background processes
Post by: Aurelius on March 17, 2010, 16:46:52 pm
Το setsid ειναι ακομα πιο τελειο. Το nohup αφηνει και ενα nohup.out log file. Με το setsid κανω αυτο ακριβως που θελω. Thanx και στους δυο σας.


Title: Re: Terminal και background processes
Post by: Guybrush on March 25, 2010, 18:05:15 pm
Μιλάς γενικά ή μόνο για το matlab?
Η matlab -desktop & δε σου κάνει;


Title: Re: Terminal και background processes
Post by: Aurelius on March 25, 2010, 19:27:46 pm
Γενικα. Το & το βαζει στο background, αλλα αν κλεισω το terminal κλεινει και η εφαρμογη, σαν να ηταν child process του terminal


Title: Re: Terminal και background processes
Post by: SolidSNK on March 25, 2010, 19:32:33 pm
Γενικα. Το & το βαζει στο background, αλλα αν κλεισω το terminal κλεινει και η εφαρμογη, σαν να ηταν child process του terminal
Είναι child process, αλλά δε φταίει αυτό που τερματίζει. Το controlling terminal είναι που στέλνει το SIGHUP στην εφαρμογή όταν κλείνεις το παράθυρο του terminal emulator και η default action είναι ο τερματισμός της child process ;)