Wie starte ich eine Anwendung von awesome rc.lua, wenn sie noch nicht läuft?

321
Rovanion

Die Aufgabe ist relativ einfach. Wenn ein Prozess ausgeführt wird, dessen Binärname xausgeführt wird, starten Sie keine weitere Kopie.

0

2 Antworten auf die Frage

1
Emmanuel Lepage Vallee

Ab AwesomeWM v4.3 gibt es auch raise_or_spawn

https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn

0
Rovanion

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