我的一些人正在使用神经网络程序,该程序必须在结束前运行几天。
对于某些电源问题,在fem分钟内,由于没有休息,计算机一直在运行。但是,我不知道是否以某种方式影响了运行过程。她告诉我,到目前为止,一些文件应该被这个过程复制,但到目前为止还没有。
我想知道,我还能做些什么来检查过程是否正常运行?到目前为止我做了什么:
为了澄清,脚本tt13.sh
调用运行程序prog.sh
的脚本ca
。三个电话是针对计算机的三个核心进行的。
$ htop -u katia
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2464 katia 20 0 2059m 2.0g 624 R 99.8 26.1 28879:00 ca
2469 katia 20 0 2058m 2.0g 624 R 99.8 26.1 28879:04 ca
2459 katia 20 0 2058m 2.0g 624 R 99.5 26.1 28879:06 ca
2455 katia 20 0 16540 1444 1228 S 0.0 0.0 0:00.00 tt13.sh
2458 katia 20 0 16536 1396 1176 S 0.0 0.0 0:00.00 bash
2460 katia 20 0 16540 1448 1228 S 0.0 0.0 0:00.00 tt13.sh
2463 katia 20 0 16536 1392 1176 S 0.0 0.0 0:00.00 bash
2465 katia 20 0 16540 1448 1228 S 0.0 0.0 0:00.00 tt13.sh
2468 katia 20 0 16536 1392 1176 S 0.0 0.0 0:00.00 bash
此外:
$ lsof -p 2459
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ca 2459 katia cwd DIR 8,5 4096 3670017 /tmp/program_13
ca 2459 katia rtd DIR 8,1 4096 2 /
ca 2459 katia txt REG 8,5 27897 3670034 /tmp/program_13/ca
ca 2459 katia mem REG 8,1 1811160 130374 /lib/x86_64-linux-gnu/libc-2.15.so
ca 2459 katia mem REG 8,1 1030536 130398 /lib/x86_64-linux-gnu/libm-2.15.so
ca 2459 katia mem REG 8,1 149312 130622 /lib/x86_64-linux-gnu/ld-2.15.so
ca 2459 katia 0w CHR 1,3 0t0 3076 /dev/null
ca 2459 katia 1w REG 8,5 0 5242882 /tmp/results13/251.out
ca 2459 katia 2w REG 8,1 1059 130681 /home/katia/nohup.out
ca 2459 katia 4w REG 8,5 0 3670036 /tmp/program_13/basi251.out (deleted)
最后:
$ ls -l /proc/2459/fd
total 0
l-wx------ 1 katia katia 64 Jul 7 21:47 0 -> /dev/null
l-wx------ 1 katia katia 64 Jul 7 21:47 1 -> /tmp/results13/251.out
l-wx------ 1 katia katia 64 Jun 17 19:00 2 -> /home/katia/nohup.out
l-wx------ 1 katia katia 64 Jul 7 21:47 4 -> /tmp/program_13/basi251.out (deleted)
“删除”是什么意思?另外,我可以做些什么来检查过程健康状况?
还有其他想法吗?
谢谢!
答案 0 :(得分:1)
如果您拥有该程序的源代码,并且该程序是使用调试信息编译的,则可以使用gdb -p pid /path/to/executable
附加到该程序。有了它,你可以四处寻找,看看程序的内部状态是否符合你的预期。一旦您满意,您就可以从流程中分离出来,并且它将从中断处继续执行。
对于'已删除'文件:在UNIX和Linux中,open
新的临时文件完全合法且非常常见,然后立即unlink
。由于文件系统inode的工作方式,只要进程打开,该文件就会继续存在。但是,它不会有一个目录条目,您可以通过它来访问它;只有那个打开的文件句柄才能使用它。当进程关闭文件(或进程退出)时,文件的内容也将消失。