#Ninja Block Debugging
I am building a list of handy commands which I use to work out what the hell my block is doing.
This is a list of handy system tools i install on my block.
sudo apt-get install lsof
This lists iterates through all the running node processes and dumps a list of there open file handles.
pi@ninjablock ~ $ for i in `pgrep node`; do echo "PID $i"; sudo lsof -p $i; echo; done
PID 1508
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 1508 root cwd DIR 179,2 4096 2 /
node 1508 root rtd DIR 179,2 4096 2 /
node 1508 root txt REG 179,2 9187989 28432 /usr/bin/nodejs
node 1508 root mem REG 179,2 116462 8423 /lib/arm-linux-gnueabihf/libpthread-2.13.so
node 1508 root mem REG 179,2 427628 8453 /lib/arm-linux-gnueabihf/libm-2.13.so
node 1508 root mem REG 179,2 9812 8449 /lib/arm-linux-gnueabihf/libdl-2.13.so
node 1508 root mem REG 179,2 126236 8425 /lib/arm-linux-gnueabihf/ld-2.13.so
node 1508 root mem REG 179,2 26632 8411 /lib/arm-linux-gnueabihf/librt-2.13.so
node 1508 root mem REG 179,2 131372 1171 /lib/arm-linux-gnueabihf/libgcc_s.so.1
node 1508 root mem REG 179,2 7332 30213 /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
node 1508 root mem REG 179,2 780392 10302 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.17
node 1508 root mem REG 179,2 1187952 8437 /lib/arm-linux-gnueabihf/libc-2.13.so
node 1508 root 0u CHR 5,1 0t0 1655 /dev/console
node 1508 root 1u CHR 5,1 0t0 1655 /dev/console
node 1508 root 2u CHR 5,1 0t0 1655 /dev/console
node 1508 root 3u 0000 0,9 0 1266 anon_inode
node 1508 root 4u 0000 0,9 0 1266 anon_inode
node 1508 root 5r FIFO 0,8 0t0 3949 pipe
node 1508 root 6w FIFO 0,8 0t0 3949 pipe
node 1508 root 7u IPv4 3951 0t0 TCP *:http (LISTEN)
node 1508 root 8u unix 0xcab29e40 0t0 3952 socket
PID 1509
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 1509 root cwd DIR 179,2 4096 2 /
node 1509 root rtd DIR 179,2 4096 2 /
node 1509 root txt REG 179,2 9188613 89997 /usr/local/bin/node
node 1509 root mem REG 179,2 116462 8423 /lib/arm-linux-gnueabihf/libpthread-2.13.so
node 1509 root mem REG 179,2 9812 8449 /lib/arm-linux-gnueabihf/libdl-2.13.so
node 1509 root mem REG 179,2 126236 8425 /lib/arm-linux-gnueabihf/ld-2.13.so
node 1509 root mem REG 179,2 26632 8411 /lib/arm-linux-gnueabihf/librt-2.13.so
node 1509 root mem REG 179,2 780392 10302 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.17
node 1509 root mem REG 179,2 131372 1171 /lib/arm-linux-gnueabihf/libgcc_s.so.1
node 1509 root mem REG 179,2 7332 30213 /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
node 1509 root mem REG 179,2 427628 8453 /lib/arm-linux-gnueabihf/libm-2.13.so
node 1509 root mem REG 179,2 1187952 8437 /lib/arm-linux-gnueabihf/libc-2.13.so
node 1509 root 0r CHR 1,3 0t0 1654 /dev/null
node 1509 root 1w CHR 1,3 0t0 1654 /dev/null
node 1509 root 2w CHR 1,3 0t0 1654 /dev/null
node 1509 root 3u 0000 0,9 0 1266 anon_inode
node 1509 root 4u 0000 0,9 0 1266 anon_inode
node 1509 root 5r FIFO 0,8 0t0 3950 pipe
node 1509 root 6w FIFO 0,8 0t0 3950 pipe
node 1509 root 7u unix 0xcb9f3580 0t0 4024 /root/.forever/sock/worker.1367047826773qr9.sock
node 1509 root 8u unix 0xcab29040 0t0 4016 socket
node 1509 root 9u unix 0xcb9f3e40 0t0 4017 socket
node 1509 root 11u unix 0xcb9f3900 0t0 4019 socket
PID 1510
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nodejs 1510 root cwd DIR 179,2 4096 2 /
nodejs 1510 root rtd DIR 179,2 4096 2 /
nodejs 1510 root txt REG 179,2 9187989 28432 /usr/bin/nodejs
nodejs 1510 root mem REG 179,2 126236 8425 /lib/arm-linux-gnueabihf/ld-2.13.so
nodejs 1510 root mem REG 179,2 26632 8411 /lib/arm-linux-gnueabihf/librt-2.13.so
nodejs 1510 root mem REG 179,2 9812 8449 /lib/arm-linux-gnueabihf/libdl-2.13.so
nodejs 1510 root mem REG 179,2 780392 10302 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.17
nodejs 1510 root mem REG 179,2 7332 30213 /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
nodejs 1510 root mem REG 179,2 427628 8453 /lib/arm-linux-gnueabihf/libm-2.13.so
nodejs 1510 root mem REG 179,2 131372 1171 /lib/arm-linux-gnueabihf/libgcc_s.so.1
nodejs 1510 root mem REG 179,2 116462 8423 /lib/arm-linux-gnueabihf/libpthread-2.13.so
nodejs 1510 root mem REG 179,2 1187952 8437 /lib/arm-linux-gnueabihf/libc-2.13.so
nodejs 1510 root 0u CHR 5,1 0t0 1655 /dev/console
nodejs 1510 root 1u CHR 5,1 0t0 1655 /dev/console
nodejs 1510 root 2u CHR 5,1 0t0 1655 /dev/console
nodejs 1510 root 3u unix 0xcab29c80 0t0 3953 socket
nodejs 1510 root 4u 0000 0,9 0 1266 anon_inode
nodejs 1510 root 5u 0000 0,9 0 1266 anon_inode
nodejs 1510 root 6r FIFO 0,8 0t0 3957 pipe
nodejs 1510 root 7w FIFO 0,8 0t0 3957 pipe
PID 1523
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 1523 root cwd DIR 179,2 4096 74342 /opt/ninja
node 1523 root rtd DIR 179,2 4096 2 /
node 1523 root txt REG 179,2 9188613 89997 /usr/local/bin/node
node 1523 root mem REG 179,2 7376 67952 /lib/libnss_mdns4.so.2
node 1523 root mem REG 179,2 18780 78507 /opt/ninja/node_modules/upnode/node_modules/dnode/node_modules/weak/build/Release/weakref.node
node 1523 root mem REG 179,2 126236 8425 /lib/arm-linux-gnueabihf/ld-2.13.so
node 1523 root mem REG 179,2 23989 81033 /opt/ninja/drivers/platform/node_modules/serialport/build/Release/serialport.node
node 1523 root mem REG 179,2 26632 8411 /lib/arm-linux-gnueabihf/librt-2.13.so
node 1523 root mem REG 179,2 116462 8423 /lib/arm-linux-gnueabihf/libpthread-2.13.so
node 1523 root mem REG 179,2 9812 8449 /lib/arm-linux-gnueabihf/libdl-2.13.so
node 1523 root mem REG 179,2 427628 8453 /lib/arm-linux-gnueabihf/libm-2.13.so
node 1523 root mem REG 179,2 131372 1171 /lib/arm-linux-gnueabihf/libgcc_s.so.1
node 1523 root mem REG 179,2 42692 8419 /lib/arm-linux-gnueabihf/libnss_files-2.13.so
node 1523 root mem REG 179,2 18040 8439 /lib/arm-linux-gnueabihf/libnss_dns-2.13.so
node 1523 root mem REG 179,2 7332 30213 /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so
node 1523 root mem REG 179,2 780392 10302 /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.17
node 1523 root mem REG 179,2 1187952 8437 /lib/arm-linux-gnueabihf/libc-2.13.so
node 1523 root mem REG 179,2 7004 67953 /lib/libnss_mdns4_minimal.so.2
node 1523 root mem REG 179,2 71528 8429 /lib/arm-linux-gnueabihf/libresolv-2.13.so
node 1523 root 0u unix 0xcb9f3c80 0t0 4015 socket
node 1523 root 1u unix 0xcb9f3ac0 0t0 4018 socket
node 1523 root 2u unix 0xcb9f3740 0t0 4020 socket
node 1523 root 3u 0000 0,9 0 1266 anon_inode
node 1523 root 4u 0000 0,9 0 1266 anon_inode
node 1523 root 5r FIFO 0,8 0t0 4026 pipe
node 1523 root 6w FIFO 0,8 0t0 4026 pipe
node 1523 root 7w REG 0,18 2192 4027 /var/log/ninjablock.log
node 1523 root 8u IPv4 4862 0t0 TCP ninjablock.local:57397->ec2-54-243-175-118.compute-1.amazonaws.com:https (ESTABLISHED)
node 1523 root 9u IPv4 4028 0t0 TCP *:8000 (LISTEN)
node 1523 root 12r 0000 0,9 0 1266 anon_inode
pi@ninjablock ~ $