|
|
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
В начале было слово) В начале было так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Запускалось приложение, запускались потоки, ждали в консоли Enter, завершали потоки. Потом задача усложнилась и мне стало нужно проверять пару параметров (если вдруг аварийное завершение работы) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Подскажите, есть readConsoleInput - можно отслеживать для Windows, а как быть для Linux? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 15:18 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
cptngrbПодскажите, есть readConsoleInput - можно отслеживать для Windows, а как быть для Linux? Код: sql 1. 2. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 15:41 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Если в Delphi (не знаю как в fpc), то номер может не выйти, т.к. в System.Internal.ExcUtils.pas уже назначен обработчик SignalDispatcher для сигналов на которых строится механика RTL для отлова и обработки hardware-ошибок. Возможно стоит посмотреть в сторону pthread_sigmask(SIG_BLOCK, ... и sigwait. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2018, 17:51 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
немного покопался, почитал. получается что-то типа такого, но сигнал не ловиться Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. нашел еще вариант, тоже не ловиться Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 08:14 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
cptngrb, У себя ловлю сигналы так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 18:05 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
makhaon, а что такое psiginfo, psigcontext? А это Код: pascal 1. 2. 3. 4. 5. 6. тоже самое как Код: pascal 1. 2. 3. 4. 5. 6. только процедур нет FpsigEmptySet , FpSigAddSet . может модуль какой не подключил или это не Delphi (в моем случае Tokyo 10.2)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 08:19 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
cptngrb, FPC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2018, 15:56 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
Добрались руки до теста.. Сигнал SIGTERM ловиться если завершить процесс через диспетчер задач, а вот сигнал SIGINT не ловиться, если в консоле нажать <Ctrl-C>. А мне более важно ловить SIGINT. Причем консоль закрывается, а процесс остается. Объясните, как так? P/S Линукс для меня шайтанОС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2018, 11:56 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
SIGTSTP ловить из диспетчера задач, а из консоли нет (( короче из консоли ничего не ловиться, может другие сигналы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2018, 12:04 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
cptngrb, Если SIGINT ловишь под отладчиком, то там баг - RSP-18540 . Без отладчика все ловится нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2018, 19:37 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
rashid.abzalov, точно. Спасибо. Действительно под отладчиком не срабатывает, а если запускать отдельно, то все хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2018, 09:41 |
|
||
|
Выйти из консольного приложения Linux правильно
|
|||
|---|---|---|---|
|
#18+
Сигналы ловятся, но... я не успеваю корректно все очистить. Может сигнал нужно поймать, а ОС его каким-то образом не дать принять ? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. В процедуре StopService ; идет остановка потоков и в ней появляется ошибка на переменную (динамический массив потоков), которая станет nil еще не скоро. Причем, если использовать выход без ловли сигнала (в моем случае в debug версии), то все работает корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2018, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39670871&tid=2040049]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 543ms |

| 0 / 0 |
