昨天我对这个程序进行了编码,除了CRON运行的时候,它实际上还在工作。今天,我运行了相同的脚本,但它不起作用。脚本将在没有任何跟踪错误的情况下运行,它将从ClearCase视图复制顶级文件夹(vob),但是目标文件夹下的文件夹和文件中没有任何实际的重要数据。
这是我的Python脚本。
def obtainCode(view="My_VIEW", folder="/my_folder"):
"""Download code from ClearCase's File System and put it on the hard-drive"""
dest = '/etc/foo'
password = 'passwords'
v1 = subprocess.Popen(['cleartool', 'setview', view], shell=True, stdout=subprocess.PIPE)
print "v1 = ", v1
print "view maybe set :/"
c1 = subprocess.Popen(['sudo', '-p', '', '-S', 'cp', '-r', folder, dest], stdin=subprocess.PIPE)
c1.stdin.write(password + '\n')
c1.stdin.close()
c1.wait()
#### Close View and Stop Processes ####
v2 = subprocess.Popen(['cleartool', 'endview', view], shell=True, stdin=v1.stdout, stdout=subprocess.PIPE)
v2.kill()
v1.kill()有谁知道:( 1)出了什么问题?( 2)为什么昨天起作用,但今天不行?
谢谢你的时间和注意力。
发布于 2015-01-07 18:59:43
尽量不要使用setview。
您不需要它,您可以使用视图的完整路径。
cleartool startview yourDynamicView
cd /view/yourDynamicView/vobs/yourVob我之前提到过使用setview ("Python and ClearCase setview")的危险。
它在您的子流程中创建一个子流程,这里不需要该子流程。
https://stackoverflow.com/questions/27825446
复制相似问题