Questa è la situazione:
Lavorando su (la prossima versione di) un editor Unity Quick List, vorrei aggiungere un modo affidabile per "riavviare" le icone di avvio. Per fare ciò, devo rimuovere l'icona (modifica delle impostazioni) e sostituirla nella stessa posizione. Finora nessun problema. Tuttavia, se l'applicazione in questione è in esecuzione, l'utente potrebbe perdere i dati, poiché l'applicazione verrà chiusa quando la sua icona viene rimossa dal programma di avvio. Ciò di cui ho bisogno è un modo affidabile per trovare il nome del processo di un'applicazione, per consentire all'editor di controllare l'elenco dei processi in esecuzione se l'applicazione è in esecuzione e inviare un messaggio di avviso all'utente che l'icona non può essere riavviata se l'applicazione è in esecuzione.
Quello che ho fatto finora è far esaminare l'editor nel file desktop, leggere il comando, leggere anche il comando, rimosso dalla sezione directory e inoltre esaminare eventuali script remoti a cui il comando del file desktop potrebbe fare riferimento, cercando stringhe che iniziano con "./"
Anche se il metodo sembra funzionare bene con tutte le applicazioni su cui l'ho testato, ho la sensazione che ci debba essere un modo più semplice per affrontare il problema in un modo "tutto in uno" ...
È lì?
Anche i suggerimenti per cogliere situazioni più eccezionali sono i benvenuti!
ps
e xprop
?
.desktop
file, che non è necessariamente WM_CLASS. WM_CLASS può essere impostato dall'interno dell'applicazione.
firefox.desktop
, lancia Firefox con PID 1234, ma è cambiato WM_CLASS
in qualcosa come "Totally Not Firefox". Il .desktop
file tuttavia non cambia. Si desidera ottenere il nome associato a PID 1234 indipendentemente da WM_CLASS
. Penso di vedere esattamente cosa bisogna fare. Ma non hai risposto alla mia prima domanda: va bene se è solo per Unity?