eseguire un nuovo processo da un LKM ?
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
- Linux 0.x
- Messaggi: 30
- Iscritto il: ven 30 mar 2012, 18:13
- Slackware: 13.37
- Kernel: 3.0.4
- Desktop: XFCE4
eseguire un nuovo processo da un LKM ?
sapete come si può eseguire un nuovo processo da un modulo del kernel linux (dinamico ovviamente) ? io ho provato tramite l'api call_usermodehelper ma appena insmoddo il modulo mi freeza l'os e mi tocca riavviare... va bene anche se sapete un modo che mi spawni il processo con i privlegi di root in user mode basta che me lo faccia partire...
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: eseguire un nuovo processo da un LKM ?
Non sono sicuro che sia una cosa sensata e, di consegueza, possibile.
Cosa dovresti fare di preciso con questo processo lanciato dall'interno del modulo?
Cosa dovresti fare di preciso con questo processo lanciato dall'interno del modulo?
- masalapianta
- Iper Master
- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
Re: eseguire un nuovo processo da un LKM ?
non ho capito se vuoi creare un kernel thread o lanciare un processo in user space da un lkm; btw nel primo caso usa kthread_create() mentre, nel secondo, un modo è la kernel_execve() (che, tra l'altro, viene usata dal kernel per lanciare init al boot), comunque non vedo motivi validi per dover lanciare un processo (oltre ad init) in user space dal kernel, ci sono modi più puliti (usare procfs, sysfs, un dispositivo a caratteri, ecc.. per comunicare ad un demone in user space di lanciare questo o quel processo) per fare quello che vuoi fare (qualunque cosa sia).mandrago ha scritto:sapete come si può eseguire un nuovo processo da un modulo del kernel linux (dinamico ovviamente) ? io ho provato tramite l'api call_usermodehelper ma appena insmoddo il modulo mi freeza l'os e mi tocca riavviare... va bene anche se sapete un modo che mi spawni il processo con i privlegi di root in user mode basta che me lo faccia partire...
P.S. che brutto tornare al lavoro dopo tre settimane di mare senza telefono, computer od altro
-
- Linux 0.x
- Messaggi: 30
- Iscritto il: ven 30 mar 2012, 18:13
- Slackware: 13.37
- Kernel: 3.0.4
- Desktop: XFCE4
Re: eseguire un nuovo processo da un LKM ?
Alla fine avevo già risolto da solo forkando il modulo ed eseguendo la exec nel processo figlio.
Per quanto riguarda il motivo è semplicemente perchè stavo studiando una guida sulla programmazione dei LKMs e allora mi sono cimentato in un modulo che in base a quale tasto veniva premuto lanciava un determinato programma...
Grazie comunque...
Per quanto riguarda il motivo è semplicemente perchè stavo studiando una guida sulla programmazione dei LKMs e allora mi sono cimentato in un modulo che in base a quale tasto veniva premuto lanciava un determinato programma...
Grazie comunque...