Ab AwesomeWM v4.3 gibt es auch raise_or_spawn
https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn
Die Aufgabe ist relativ einfach. Wenn ein Prozess ausgeführt wird, dessen Binärname x
ausgeführt wird, starten Sie keine weitere Kopie.
Ab AwesomeWM v4.3 gibt es auch raise_or_spawn
https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn
Sie können die unten stehende Funktion verwenden, die asynchron prüft, ob ein Prozess ausgeführt wird, und ihn startet, falls nicht:
function run_if_not_running(program, arguments) awful.spawn.easy_async( "pgrep " .. program, function(stdout, stderr, reason, exit_code) naughty.notify { text = stdout .. exit_code } if exit_code ~= 0 then awful.spawn(program .. " " .. arguments) end end) end