我写了一个python脚本。当我直接运行它(如下所示)它运行良好。在
python check_C1_criteria_file.py > test.out
但当我在后台运行它时(如下所示),它既不显示任何结果也不显示错误。在
^{pr2}$或者
nohup python check_C1_criteria_file.py &
会出什么问题?有人能帮我吗?在
更新:
脚本的主要部分如下:
blastOutput_file=sys.argv[1];
lengthFile = sys.argv[2];
with open(blastOutput_file, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter='\t')
sys.stdout.write('#query_id'+'\t'+'Mapping_Id'+'\t'+'Description'+'\n');
for row in reader:
tid=row[0];
subid=row[1];
mapid=getMapping_id(subid);
idDes = search_id(lengthFile, mapid);
if idDes is not None:
sys.stdout.write(tid+'\t'+str(mapid)+'\t'+str(idDes)+'\n');
我错过什么了吗?在
你可以试试
你最好检查一下这个程序是否正常终止。在
你的脚本有没有做任何终端处理?除了简单的}(Python3.x)之外,它是否执行任何I/O操作?它是否执行
sys.stdout.write()
或调用print
(Python2.x)或{input()
或raw_input()
或sys.stdin.read()
操作?是Python 2还是3?在粗略地说,在后台运行命令与在前台运行命令时唯一不同的是它对终端的任何调用。在后台试图访问终端的进程可能会处于休眠状态,直到它回到前台。对标准输出的正常写入不会阻止。。。但是对curses函数的任何调用,甚至是
getpass()
中的一些termio内容,都可能会将终端设置为阻止尝试的终端写入的模式。在相关问题 更多 >
编程相关推荐