2014-07-02 70 views
2

打死我有一個特殊的設備插上後啓動一個bash腳本在這個腳本執行一個Python腳本:bash腳本得到由系統

#! /bin/bash 

echo "before python" >> /home/pi/log 
/usr/bin/python3.2 pythonscript.py 
echo "after python" >> /home/pi/log 

的Python腳本,需要大量的CPU,但只有少量的RAM。我在htop中看到,shell腳本和python腳本都在運行。一段時間後,shell腳本消失了! python腳本可以很好地工作到最後。但是隨着shell腳本不再存在,第二個回顯從未被執行。誰在殺我的劇本,爲什麼? (如果Python腳本並不需要太長時間它的工作原理)

+0

你的python腳本也碰巧寫到/ home/pi/log? –

+0

'dmesg'命令是否給你提供關於系統正在做什麼的任何信息,如果你在你的bash腳本被殺後立即輸入它? –

+0

什麼是啓動你的shell腳本? –

回答

0

好吧,我想我從這裏這樣的一個解決方案:https://unix.stackexchange.com/questions/28548/how-to-run-custom-scripts-upon-usb-device-plug-in/28711#28711

似乎udev的是殺死我的bash腳本,而不是python腳本。因此我必須以某種方式分離過程。我這樣解決:

#!/bin/bash 
echo "/home/pi/mipod/src/script_taking_long.sh $1" | at now 

行爲的原因似乎是從udev超時?如果有人可以澄清這一點,這將有所幫助。

相關問題