2013-07-08 29 views
-1

我的一些工作是在一個神經網絡程序中工作,它必須在其結束之前運行幾天。Linux進程是否正在運行?

對於一些功率問題,在fem分鐘,電腦保持運行,由於沒有休息。但是,我不知道是否影響了運行過程。她告訴我,現在有些文件應該被流程複製,但目前爲止還沒有。

我想知道,我還能做些什麼來檢查過程是否正常運行?我到目前爲止所做的:

爲了澄清,腳本tt13.sh調用運行程序ca的腳本prog.sh。這三個電話是針對三個電腦的內核進行的。

$ 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

如果您的計算機不受備份電源引起的電源故障的影響,則程序狀態正常! – jman

回答

1

如果您有該程序的源代碼,並且該程序是使用調試信息編譯的,則可以使用gdb -p pid /path/to/executable附加到該程序。有了這些,你可以四處探索,看看程序的內部狀態是否符合你的期望。一旦您滿意,您可以從流程中分離出來,並在停止執行的地方繼續執行。

至於「刪除」文件:在UNIX和Linux中,它是完全合法的,並且相當普遍open是一個新的臨時文件,然後立即unlink它。由於文件系統inode的工作原理,只要進程打開文件,文件就會一直存在。但是,它不會有一個目錄條目,通過它你可以達到它;它只會被該打開的文件句柄提供。當進程關閉文件(或進程退出)時,文件的內容也會消失。

相關問題