Mi chiedo se c'è un gancio che potrebbe essere utilizzato in un modulo del kernel Linux che viene generato quando un'applicazione spazio utente/processo viene ucciso?Linux segnale di modulo del kernel sul processo userspace ucciso
risposta
Potresti prima registrarsi per una catena di notifica all'interno del vostro modulo del kernel.
All'interno get_signal_to_deliver
(kernel/signal.c), qualsiasi procedimento che ha appena (essendo questo un termine IMHO relativa) stato ucciso ha la sua PF_SIGNALED bandiera viene impostato. Qui potreste controllare il nome della corrente processo usando il suo campo Tcomm in questo modo:
char tcomm[sizeof(current->comm)];
get_task_comm(tcomm, current);
Se è davvero il processo in questione, si può solo sparare la catena di notifica, che risveglierà il vostro modulo che ha stato in attesa su quella catena.
Grazie! Darò un'occhiata a questo! – ZedTuX
- 1. Programmazione del modulo del kernel Linux: makefile
- 2. Come codificare un modulo del kernel Linux?
- 3. Inserire i dati locali nel modulo del kernel linux
- 4. Qual è lo stato stack del kernel del processo Linux durante la creazione del processo?
- 5. Int 80h interrompe un processo del kernel?
- 6. La compilazione del modulo del kernel Linux non riesce
- 7. Come utilizzare il conteggio dal modulo del kernel di Linux?
- 8. Trovare l'indirizzo del kernel di un modulo kernel caricabile
- 9. Perché ho bisogno di ricompilare il modulo del kernel vmware dopo un aggiornamento del kernel linux?
- 10. Attività periodica in un modulo del kernel Linux
- 11. Modulo Kernel Linux (* .ko) compatibilità tra i kernel
- 12. Acquisizione del pid del processo utente durante la scrittura di Kernel Module Linux
- 13. Processo ucciso da SIGKILL
- 14. Hadoop: processo Datanode ucciso
- 15. Trovare quale processo è stato ucciso da Linux OOM killer
- 16. compositore aggiornamento "processo ucciso"
- 17. Gestione del segnale Erlang Linux
- 18. Come mantenere l'output asm dal modulo del kernel Linux build
- 19. Posso sostituire una funzione del kernel Linux con un modulo?
- 20. Come compilare un modulo del kernel Linux usando -std = gnu99?
- 21. Come caricare automaticamente un modulo del kernel in Gentoo Linux?
- 22. Caricamento modulo kernel nel kernel Android
- 23. Processo di tomcat ucciso dal kernel Linux dopo aver esaurito lo spazio di swap; non ottieni alcun errore JVM OutOfMemory
- 24. Simboli del kernel Linux esportati
- 25. Ripristino stato dopo processo ucciso
- 26. mprotect() come funzionalità all'interno del kernel Linux
- 27. fedora linux --- compilazione del primo modulo linux
- 28. Come cambiare la console del kernel di Linux dopo il processo di avvio?
- 29. per il processo linux
- 30. Stile di codifica del kernel Linux
È solo per un processo specifico o tutti i processi? Sei interessato al processo che riceve determinati segnali o il processo sta appena uscendo con grazia? – Tuxdude
Su ** ARM **, '#include' e 'thread_register_notifier()'. Usa 'THREAD_NOTIFY_EXIT'. Vedere: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/include/asm/thread_notify.h –
@Tuxdude: E 'per tutti i processi e per qualsiasi segnale Nel mio caso il mio modulo del kernel sta salvando alcuni dati basati sul PID e deve essere pulito non appena il processo muore. – ZedTuX