Annuncio pubblicitario
In Activity Monitor è disponibile un'opzione di menu criptico Invia segnale al processo. Ti sei mai chiesto cosa fosse? Se lo selezioni, vedrai termini oscuri come SIGINT e SIGHUP, che non chiarisce esattamente le cose. Quindi quali sono esattamente questi segnali?
Questi segnali sono il risultato di Fondazione Unix Mac OS X Yosemite, dal punto di vista di un utente LinuxMac OS X viene utilizzato come elemento secondario per un'interfaccia pulita ed elegante. Come scrittore Linux, è mio dovere fare confronti tra le distro Linux, ma anche contro la concorrenza. Leggi di più nel cuore di macOS. Il terminale ha alcuni di questi segnali integrati: quando si colpisce Ctrl + C per interrompere un comando in esecuzione, si sta inviando il processo SIGINT per interrompere e arrestare il comando attualmente in esecuzione. Sono stati uno dei primi modi in cui le app potevano comunicare tra loro e fanno parte dei vecchi standard "POSIX (Portable Operating System Interface)".
Sebbene sia utile comprendere le basi del funzionamento del sistema, puoi anche utilizzare questi segnali per acquisire informazioni sulle app che si comportano in modo inappropriato.
Che cos'è POSIX?
POSIX è lo standard di base per i sistemi operativi Unix e Unix-Like. Tra questi sistemi conformi c'è macOS, che è stato reso compatibile con Unix. Alla base c'è Darwin, un core Unix con radici che risalgono a NeXTSTEP. Quello stesso era un fork di BSD, una delle varianti originali Unix.
POSIX garantisce che tutti questi sistemi operativi gestiscono il codice nei modi previsti, consentendo agli sviluppatori di sapere che il loro codice è veramente portatile. Quando inviano uno di questi segnali su un'altra macchina a un processo, i dati che recuperano sono in un formato che possono anticipare ed elaborare. Questa è una grossolana semplificazione di circa 40 anni di storia dell'informatica, ma hai un'idea generale.
Quando comunicano con i demoni più elementari che compongono la base Unix di macOS, questi segnali sono i migliori. I demoni sono i processi in background che eseguono gli elementi essenziali del tuo computer - o in comune Mac OS parlance, servizi. Il famigerato discoveryd è un esempio. Questa è stata la sostituzione di OS X Yosemite 10.10 per mDNSResponder, un altro servizio incolpato per i problemi di rete in quell'aggiornamento.
A seconda del modo in cui un'app è progettata per ricevere segnali, puoi inviare un segnale per uscire da un'app per creare quello che viene chiamato core dump. I core dump contengono tutti i dati correnti su un programma in esecuzione. Questi sono essenziali per la risoluzione dei problemi delle app che si bloccano costantemente. Su Mac, questi dump sono nel formato file Mach-O, che puoi leggere nell'ambiente di sviluppo macOS chiamato Xcode. La maggior parte degli utenti probabilmente non farà molto con questi, ma se sei frustrato da un problema con l'app, possono essere utili da inviare a uno sviluppatore per il supporto.
C'è un altro po 'di informatica classica che mostra le sue radici qui. Il formato del file Mach-O condivide il suo nome con il microkernel Mach. Insieme a BSD, questo fa parte delle radici di macOS e i due fanno parte del kernel di base, XNU. Mach non ha la stessa storia di BSD, quindi non ha molta stampa ma fa parte di ciò che distingue il sistema operativo Apple dalle altre varianti Unix.
Quindi, come posso usarli?
Ci siamo già stati tutti prima: ottieni un aggiornare a un'app o scaricare una nuova app Come installare e rimuovere il software Mac: 5 semplici metodiPassato a un Mac e alle prese con le basi? Ti chiedi come installare il software dalla riga di comando? Hai vecchie app di Windows che devi semplicemente eseguire sul tuo computer Apple? Leggi di più e si blocca ogni volta che lo apri. Apri Uscita forzatadal menu Apple e vedi che l'applicazione viene visualizzata come Non risponde. Peggio ancora, è un processo in background che trascina il sistema verso il basso.
Aperto Activity Monitor e fai clic sul processo che non risponde. Quindi vai al Visualizza menu e selezionare Invia segnale da elaborare. Apparirà un menu che ti permetterà di scegliere quale segnale inviare al processo, seleziona il tuo segnale e premi Spedire.
Se preferisci il Terminale 4 cose interessanti che puoi fare con il terminale MacIl terminale è l'analogo di Mac OS X del prompt dei comandi di Windows o CMD. È uno strumento, come probabilmente già saprai, che ti consente di controllare il tuo computer usando i comandi di testo, al contrario ... Leggi di più , utilizzerai un comando che conosci già. Il uccidere
Il comando viene utilizzato per interrompere un processo. Se aggiungi -S
puoi aggiungere un numero per inviare un segnale al processo che stai uccidendo. Ecco un elenco del numero di comandi comuni nell'elenco uccidere
pagina man:
- 1 - HUP (riagganciare)
- 2 - INT (interruzione)
- 3 - ESCI (esci)
- 6 - ABRT (interruzione)
- 9 - KILL (uccisione non catturabile, non ignorabile)
- 15 - TERM (segnale di terminazione del software)
Ci sono anche altri segnali che puoi inviare, questi sono solo i più comuni. C'è un elenco completo di codici disponibili qui.
Quando li uso?
Ora che sai cosa fare con i segnali POSIX, puoi usarli per fermare i tuoi processi sospesi in modo pulito. Ad essere onesti, non userete questi codici ogni giorno. Quando si lavora con uno sviluppatore in un arresto anomalo dell'app o si aiuta il beta sysadmin a testare le app interne dell'azienda, questi codici possono aiutare a ottenere le informazioni di cui hanno bisogno.
Se l'app è codificata per creare questi dump, li troverai nella directory /cores
rendendola una directory facile da consultare quando si ottengono dati per un'applicazione bloccata o bloccata. Puoi controllare qui e vedere quali dump sono nella directory usando il ls -a
comando. Questo ti mostrerà tutti i file in quella directory, quindi potrai copiarli in una directory musicale più accessibile con il comando mv nome file destinazione
.
In terminale Usa il comando cd / core
per passare alla directory, quindi ls -a
per elencare i contenuti. Per spostare un file nella cartella Documenti è sufficiente utilizzare mv nomefile / Utenti / nome utente / Documenti
(sostituzione nome del file e nome utente).
Se sei un utente Unix di vecchia data che si è trasferito sul Mac, quali altre funzionalità poco conosciute ci sono? Se sei interessato a provare un progetto che utilizza solo il fondazione open source di macOS controlla PureDarwin. Facci sapere come ha funzionato nei commenti. Ci piacerebbe anche sapere quando i segnali POSIX hanno risolto un problema ostinato con il tuo Mac.
Hai usato i segnali POSIX per la risoluzione dei problemi prima?
Crediti immagine: Dean Drobot / Shutterstock
Michael non usava un Mac quando erano condannati, ma può scrivere il codice in Applescript. Ha una laurea in Informatica e inglese; da un po 'scrive di Mac, iOS e videogiochi; ed è stato una scimmia IT diurna per oltre un decennio, specializzato in scripting e virtualizzazione.