Если процесс aborted
или имеет coredump
, он больше не будет находиться в памяти. Поэтому, если вы считаете, что процесс завис, получите pid
процесса и запустите следующее:
strace -fp <pid> -o strace.out
--может быть полезно указать системный вызов, при котором процесс может зависнуть (обратиться к выходному файлу strace.out ).
pstree -aAp <pid>
--показывает текущую исполняемую строку программы.
/usr/bin/gdb -q -p <pid> -- to see the current state of the process.
Если у вас есть coredump
, вы можете использовать gdb
для его анализа.
/usr/bin/gdb <java_binary_path> <coredump_path>
А на консоли gdb
используйте:
(gdb) bt
(gdb) thread apply all bt
Как упоминал @steeldriver , minicom не принимает сценарии оболочки. Согласно этой справочной странице , мы можем запустить команду оболочки, написав ее после !
.
Я заменил содержимое своего скрипта на
! echo test
...и команда sudo minicom -S s.sh -D /dev/ttyUSB0
работает.
Вам нужно добавить shebang вверху скрипта #!/bin/bash
или #!/bin/sh
или как там у вас.
#!/bin/bash
echo test