αποδέσμευση προγράμματος από την κονσόλα
χαιρετώ την ομάδα!

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

nohup program -option &
Όταν είχα ανάγκη να γράψω μια εφαρμογή με ένα μοντέλο πελάτη-εξυπηρετητή, όπου οι πελάτες θα μπορούσαν να φύγουν και να εισάγετε όποτε θέλουν, (υποθέτω ότι είναι επίσης η περίπτωση για την εφαρμογή σας, όπως εσείς χρησιμοποιείτε φορητές συσκευές) που φρόντισε ώστε οι πελάτες να στείλετε ένα *σε απευθείας σύνδεση* μήνυμα στο διακομιστή, αναφέροντας ότι έχουν συνδεθεί και είναι έτοιμη να κάνει ό, τι χρειάζεται να κάνει.


εκείνη τη στιγμή ο server θα μπορούσε να στείλει μηνύματα πίσω στον πελάτη γούρνα την ίδια ανοικτή σύνδεση.


Επίσης, αλλά δεν ξέρω αν αυτό ισχύει για εσάς, είχα κάποια *αρρυθμία* οι πελάτες που αποστέλλονται στο διακομιστή, αφήνοντας το γνωρίζουν ακόμα ότι ήταν σε απευθείας σύνδεση. Με αυτόν τον τρόπο ο server ξέρει πότε ένας πελάτης ήταν βίαια αποσυνδεθεί από το δίκτυο και θα μπορούσε να σηματοδοτήσει ότι πελάτη πίσω και offline. Μην αμελήσετε το «σύντροφο» εργαλείο της γραμμής εντολών. Μπορείτε να το χρησιμοποιήσετε για την έξοδο του σωλήνα σε TextMate, οπότε αν μπορείτε να κάνετε τα εξής ...



```
diff file1.py file2.py | mate

```

... αυτό δεν θα είναι μόνο ανοικτή σε TextMate, αλλά είναι αρκετά έξυπνος για να ξέρει ότι ψάχνετε σε μια διαφορά και τονίζουν τις γραμμές στην οθόνη.


ενσωμάτωση SVN TextMate είναι μεγάλη? φαίνεται επίσης να έχουν δέσμες για κάποια άλλα συστήματα ελέγχου εκδόσεων, καθώς και.


Προσθέστε GetBundle να περιηγηθείτε στο αποθετήριο πακέτο. Βρήκα το πακέτο jQuery μέσα από αυτό και είναι πολύ βολικό.


Όπως άλλοι έχουν αναφερθεί, το τροχαίο το δικό σας πακέτο για συχνά χρησιμοποιούμενες αποσπάσματα είναι πολύ χρήσιμη. Αν έχετε κάποια αποσπάσματα που είναι ειδικά για ένα έργο ή πλαίσιο, ίσως να θέλετε να πρόθεμα όλα αυτά με μια κοινή επιστολή για να κρατήσει το χώρο ονομάτων τακτοποιημένο. Αυτή είναι μια σύγκρουση μεταξύ του οδηγού γραφικών σας και το Visual Studio. Μεταβείτε στη σελίδα ρυθμίσεων του οδηγού σας (Πίνακας ελέγχου) και να απενεργοποιήσετε τις συντομεύσεις περιστροφή της οθόνης. Με αυτή η σύγκρουση αφαιρεθεί, η συντόμευση θα λειτουργήσει στο Visual Studio. Συμφωνώ ότι το φροντιστήριο είναι εσφαλμένη, ρίχνει τυχαία, ανεξήγητη κώδικα ακριβώς μπροστά από τα μάτια σας. Εισάγει έννοιες όπως το απόθεμα αυτόματης και προεπιλογές του χρήστη χωρίς να εξηγήσει γιατί θα τους θέλουν ( «αυτόματης κυκλοφορίας στην πισίνα για τη διαχείριση της μνήμης» δεν είναι καθόλου μια εξήγηση).


Εχοντας πεί αυτό…



> 
> Βασικά το μόνο που θέλω να κάνετε είναι να γράψετε εφαρμογές για το κακάο, χωρίς να χρειάζεται να μάθουν ObjC.
> 
> 
> 


Φοβάμαι ότι προς το παρόν, που *θα* χρειαστείτε μια βασική κατανόηση της ObjC, προκειμένου να επωφεληθεί από οποιαδήποτε γλώσσα που χρησιμοποιεί το κακάο. PyObjC, RubyCocoa, Nu και άλλοι είναι κόγχες, στην καλύτερη περίπτωση, και όλοι τους είχαν αναπτυχθεί από ανθρώπους στενά εξοικειωμένοι με το INS και outs της ObjC *και* κακάο.


Προς το παρόν, θα ωφεληθεί περισσότερο αν δείτε ρεαλιστικά αυτές τις γέφυρες ως χρήσιμο όταν γλώσσες προγραμματισμού πραγματικά λάμπει, αντί να προσπαθεί να χτίσει μια ολόκληρη εφαρμογή τους. Αν και αυτό *έχει* γίνει (με LimeChat, είμαι χρησιμοποιώντας ένα RubyCocoa-γραπτή app τώρα), είναι σπάνια και κατά πάσα πιθανότητα θα είναι για λίγο. Υπάρχουν κάποιες «αμυχές» που περιλαμβάνουν τη χρήση ενός System.Core.dll από το Framework 3.5 για να τρέξει με .net 2.0, αλλά προσωπικά δεν θα ήθελα να χρησιμοποιήσετε ένα τέτοιο κάπως σαθρά θεμέλια.


Δείτε εδώ: [LINQ υποστήριξη για .NET 2.0](http://weblogs.asp.net/fmarguerie/archive/2007/09/05/linq-support-on-net-2-0.aspx)



> 
> 1. Δημιουργήστε μια νέα εφαρμογή κονσόλας
> 2. Κρατήστε μόνο συστήματος και System.Core όπως αναφέρεται συνελεύσεις
> 3. Ρύθμιση αντιγραφής Τοπική να ισχύει και για System.Core, επειδή δεν υπάρχει στο .NET 2.0
> 4. Χρησιμοποιήστε ένα ερώτημα LINQ στην Κύρια μέθοδο. Για παράδειγμα, η μία κάτω.
> 5. Χτίζω
> 6. Αντιγράψτε το σύνολο της παραγωγής κάδο σε μια μηχανή όπου μόνο είναι εγκατεστημένο το .NET 2.0
> 7. Τρέξιμο
> 
> 
> 


(Απαιτεί .net 2.0 SP1 και δεν έχω ιδέα αν ομαδοποίηση του System.Core.dll παραβιάζει την EULA) Όπως με τα περισσότερα «γνωρίζουν» τα πράγματα στα Windows, η απάντηση είναι «Μητρώο».


Ρίξτε μια ματιά σε αυτό το άρθρο της Γνωσιακής Βάσης της Microsoft: <http://support.microsoft.com/kb/103000>


Αναζήτηση για «Ένα πρόγραμμα Win32 που μπορεί να ξεκινήσει από τον ελεγκτή υπηρεσίας και ότι υπακούει το πρωτόκολλο ελέγχου υπηρεσίας.» Αυτό είναι το είδος της υπηρεσίας που σας ενδιαφέρει.


Η καταχώρηση υπηρεσίας (περιεχόμενο της KEY\_LOCAL\_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ myservice) μεταφέρει πληροφορίες σχετικά με την υπηρεσία, συμπεριλαμβανομένων των πραγμάτων όπως εκτελέσιμο θέση του, τι πρέπει να κάνουμε όταν αποτυγχάνει (σταματήσει το λειτουργικό σύστημα;), τι υπηρεσίες θα πρέπει να αρχίσει πριν από αυτό , τι χρήστης τρέχει σαν.


Όσον αφορά την εξυπηρέτηση πρωτόκολλο ελέγχου, main () του προγράμματος σας υποτίθεται ότι θα επικαλεστεί μια κλήση API των Windows, για τη δημιουργία callbacks για την έναρξη, διακοπή, παύση για την υπηρεσία σας. Τι να κάνετε σε αυτές τις επιστροφές κλήσεων είναι όλα στο χέρι σας. Αν χρησιμοποιείτε τάξεις Objective-C, τότε η `[myObject isKindOfClass: [InterestingClass class]]`δοκιμή είναι διαθέσιμη. Αν χρησιμοποιείτε πρωτόγονων τύπων (η οποία ερώτησή σας, αναφέροντας το «διπλό» τύπου, προτείνει), τότε δεν μπορείτε. Ωστόσο, αν κάνετε κάποια πολύ funky πράγματα, ο compiler μπορεί να σας πει πότε πρωτόγονων τύπων ή δεν ταιριάζουν, και όταν δεν θα εκτελέσει έμμεση προώθηση στο επιθυμητό τύπο.


Θα ήταν χρήσιμο να γνωρίζουμε λίγο περισσότερα για το ποιο είναι το συγκεκριμένο πρόβλημα είναι ότι προσπαθείτε να λύσετε, διότι μπορεί να είναι ότι η λύση δεν περιλαμβάνει την ανίχνευση της δημιουργίας διπλασιάζεται σε όλα :-). Σύμφωνα με τον δημιουργό του celeryd:


Το σέλινο δεν κάνει τη δική αποκόλληση του από 01a8a0e. Υπήρξε πάρα πολλά προβλήματα με αυτό, και δεδομένου ότι λειτουργεί κατά την αποσύνδεση χρησιμοποιώντας start-stop-daemon, supervisord, launchd και ούτω καθεξής, θα ενθαρρύνονται να χρησιμοποιούν αυτά τα εργαλεία αντ 'αυτού. τι εννοείς δεν μπορείς να το κατεβάσεις?
υπάρχει ένα εικονίδιο πάνω δεξιά που λέει λήψη! Ένας τρόπος θα ήταν να ορίσετε μια μεταβλητή περιβάλλοντος συστήματος όπως το «JAVA\_HOME» και να τις χρησιμοποιούν. 


Μπορεί να μην είναι η καλύτερη λύση, αλλά θα μπορούσε να λειτουργήσει, και αυτό είναι ό, τι άλλες εφαρμογές που απαιτούν JDK και όχι JRE (όπως CruiseControl) απαιτεί από εσάς να κάνετε όταν τα δημιούργησαν.