LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv тут

#! /bin/env lua

local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);

if(file) then
    local stat = file:read('*all');
    file:close();
    if stat == 'working' then
       file = io.open(signal_file,'w');
       file:write('stop');
       -- когда скрипт уже запущен есть веростность
       -- что играет музыка, если мы нажимает кнопку второй раз
       -- значит мы завершаем текущий скрипт
       -- и если играет музыка она грохается
       -- сразу после этого завешиться qdialog через сигнал ему через 
       -- dbus, а потом после ещё 1 итерации завершится скрипт
       os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
       -- ведь завершая текущий скрипт мы просто делаем запись сигнала 
       -- ему вот тут и выходим сразу же.
       return 0; 
    else
...

А остальное вернуть как было, скрипт сам себе посылает stop и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.

Ну ты уж делай правки под себя как тебе удобнее, я со своей колокольни всех случаев использования не предугадаю. =) Скрипты то домашние, главное что-бы работало, а как в целом по барабану, не продакшон чай ::) Экспериментируй, сам не заметишь начтёшь строчить под себя 100+ строк луашного кода на всякое разное

Исправление LINUX-ORG-RU, :

Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv тут

#! /bin/env lua

local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);

if(file) then
    local stat = file:read('*all');
    file:close();
    if stat == 'working' then
       file = io.open(signal_file,'w');
       file:write('stop');
       -- когда скрипт уже запущен есть веростность
       -- что играет музыка, если мы нажимает кнопку второй раз
       -- значит мы завершаем текущий скрипт
       -- и если играет музыка она грохается
       -- сразу после этого завешиться qdialog через сигнал ему через 
       -- dbus, а потом после ещё 1 итерации завершится скрипт
       os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
       -- ведь завершая текущий скрипт мы просто делаем запись сигнала 
       -- ему вот тут и выходим сразу же.
       return 0; 
    else
...

А остальное вернуть как было, скрипт сам себе посылает stop и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.

Ну ты уж делай правки под себя как тебе удобнее, я со своей колокольни всех случаев использования не предугадаю. =) Скрипты то домашние, главное что-бы работало, а как в целом по барабану, не продакшон чай ::)

Исходная версия LINUX-ORG-RU, :

Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv тут

#! /bin/env lua

local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);

if(file) then
    local stat = file:read('*all');
    file:close();
    if stat == 'working' then
       file = io.open(signal_file,'w');
       file:write('stop');
       -- когда скрипт уже запущен есть веростность
       -- что играет музыка, если мы нажимает кнопку второй раз
       -- значит мы завершаем текущий скрипт
       -- и если играет музыка она грохается
       -- сразу после этого завешиться qdialog через сигнал ему через 
       -- dbus, а потом после ещё 1 итерации завершится скрипт
       os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
       -- ведь завершая текущий скрипт мы просто делаем запись сигнала 
       -- ему вот тут и выходим сразу же.
       return 0; 
    else
...

А остальное вернуть как было, скрипт сам себе посылает stop и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.