Osprey skrev:En sak som slog mig är att, det kunde kanske funka om man påminde polkitd om att den har en barnprocess som vill göra exit...
Detta skulle man då kunna göra med:Detta skulle man då kanske behöva göra en gång per zombie och förmodligen måste man använda "sudo"...
- Kod: Markera allt
PID=$(ps -ef | grep $(whereis polkitd | awk '{ print $2 }') | awk '{ print $2 }'); kill -SIGCHLD $PID
Om det här funkar så skulle det ju vara lätt att skapa en daemon (eller cron-jobb), som kollar om det finns några zombies och isåfall så kör den det här, typ en gång i minuten eller så...
Intressant string.. jag har nog aldrig sett liknande.. Jag kunde inte låta bli att testa, men den spotta bara ut info om växlar, som att det var felaktig växel.
Jag sitter med första koppen kaffe just nu, så jag tänker inte klart förrän kopp tre.
Idag ingen zombie efter jag tog bort polkit pkla regeln...
Än så länge ser jag ingen sidoeffekt, men jag har bara startat datorn...
Då du kan lite mer kod och Linux core än mig.. Ser du något i denna regeln som du tycker känns off eller onödig eller bara konstigt.
Innehållet utav regel filen: 49-polkit-pkla-compat.rules
- Kod: Markera allt
polkit.addAdminRule(function(action, subject) {
//polkit.log('Starting pkla-admin-identities\n');
// Let exception, if any, propagate to the JS authority
var res = polkit.spawn(['/usr/sbin/pkla-admin-identities']);
//polkit.log('Got "' + res.replace(/\n/g, '\\n') + '"\n');
if (res == '')
return null;
var identities = res.split('\n');
//polkit.log('Identities: ' + identities.join(',') + '\n');
if (identities[identities.length - 1] == '')
identities.pop()
//polkit.log('Returning: ' + identities.join(',') + '\n');
return identities;
});
polkit.addRule(function(action, subject) {
var params = ['/usr/sbin/pkla-check-authorization',
subject.user, subject.local ? 'true' : 'false',
subject.active ? 'true' : 'false', action.id];
//polkit.log('Starting ' + params.join(' ') + '\n');
var res = polkit.spawn(params);
//polkit.log('Got "' + res.replace(/\n/g, '\\n') + '"\n');
if (res == '')
return null;
return res.replace(/\n$/, '');
});