Aktywne Wpisy

rancorn +32
"słyszałeś że pisarski napisał książkę?
Słyszałem.
A czytałeś?
Nie.
Jak wiekszosc.
*SMIECH PAWIANA*
Słyszałem.
A czytałeś?
Nie.
Jak wiekszosc.
*SMIECH PAWIANA*
źródło: 1000053392
Pobierz
Napiszcie mi coś sympatycznego.





Mój program łączy się z portem COM na Raspbianie i tworzy plik /var/lock/LCK..ttyS0. W razie niepoprawnego zamknięcia programu (a tak go wyłączam, po prostu "poweroff" przez SSH) ten plik zostaje i po resecie już się nie łączy z portem (a program jest w autostarcie), bo " Permission error while locking the device (ttyS0)". Nie bardzo mogę usuwać ten plik z programu, bo nie chcę mu dawać praw administratora. Czy te locki w /var/lock nie powinny znikać po zamknięciu systemu? Jak zrobić żeby to robiły?
@s_theCapt: kto tworzy ten plik?
@s_theCapt: +1 dla tego pana wyżej
pokaż
lsAby to poprawić musisz w swojej aplikacji przechwycić sygnały SIGTERM i SIGHUP, a następnie zakończyć poprawnie działanie programu.
Zobacz jak ja to robię u siebie (też program w C++ i Qt) w linii 72, w pliku main.cpp:
https://github.com/sin2000/zdownloader/blob/master/src/zdownloader/src/main.cpp
@szokiniedowierzanie: takiego czegoś szukałem, dziękuję!
Komentarz usunięty przez autora
@s_theCapt: sigkill i tak nigdy nie złapiesz, ten lock domyślnie powinien się tworzyć w /run/lock i po restarcie powinien zniknąć a w /var/lock jest symlink, coś masz zepsute, przy poprawnym wyjściu z aplikacji powinieneś tylko to złapać i zamknąć port.
daj wyniki poleceń
ls -al /var/locki
ls -al /run/lock
i ps -aux
zrób to jak odpalisz appke i jak zrestartujesz system i najlepiej wrzuć na pastebina czy cuś
źródło: comment_1592483226ogRaJ0qqmTLEonqr41HfjL.jpg
PobierzKomentarz usunięty przez autora
@s_theCapt: co jeśli plik będzie prawidłowo utworzony i port rzeczywiście będzie zablokowany?
To niezłe działanie u klienta xD
@s_theCapt: dlatego uważam, że ten plik jest tworzony/przechowywany w dziwny sposób, cały /run to tmpfs i jest trzymany w ramie/swapie, po restarcie powinno być pusto.
https://www.networkworld.com/article/3403023/exploring-run-on-linux.html