Esiste un equivalente di ciò che fa l' opzione -Te dell'utilità Solaris su Linux.-Utruss
Quelli devono specificare una chiamata di sistema ( -T) o una funzione di libreria ( -U) che quando viene chiamata dall'applicazione tracciata ne causerebbe l'arresto.
Oppure, detto diversamente, vorrei che qualsiasi processo avviato da un'applicazione tracciata fosse interrotto (come se ucciso da SIGSTOP) non appena effettua una determinata chiamata di sistema o una determinata funzione di libreria condivisa.
stracee ltracesu Linux forniscono gran parte della featureset di Solaris truss, ma non sembrano fare questo.
Per esempio:
truss -f -T open cmd
Sarebbe come strace -f cmdtranne che se il processo in esecuzione cmdo uno qualsiasi dei suoi discendenti fa una openchiamata di sistema, verrebbe interrotto immediatamente (e potrò riprenderlo in seguito a mio piacimento)
In alcuni casi, potrei usare gdb's catch syscall, ma ero alla ricerca di una soluzione che può comodamente seguire forchette e continuare a farlo per tutti i processi biforcuta e continuare a farlo anche dopo execves.
Mi sembra di ricordare qualche utilità che fornisce la stessa funzionalità, anche una (o opzioni a quella stessa utility) ad applicazioni a passaggio singolo tra alcune occorrenze di alcune scale di sistema in remoto come quella, ma la mia memoria mi sta fallendo, non posso nemmeno esserne sicuro quello era su Linux.
follow-exec-mode), lo sto sperimentando. Non risponde rigorosamente alla domanda, ma può essere abbastanza buono per quello che mi serve.
trussmanpage di Solaris .