2016-04-14 15 views
0

Python subprocess.popen komutunu kullanarak nas dosya sistemini yüklemeye çalışıyorum, dosya sistemini monte etmek için bir betik çalıştırıyorum. Bazı betik dosya sistemini nasıl kuramıyor.Python altprocess popen kullanarak dosya sistemi yüklenemedi

Benim komut dosyası: benim komut dosyasından

self.mountSrc = subprocess.Popen('mount'+' '+ self.src_m[l], shell=True) 

print self.mountSrc 

if self.mountSrc==0: 

    print "Mounted filesystem:"+ self.src_m[l] 

Çıktı:

Mounting: Source Mount Point:/rsyncTesting/source/share1 
Starting:[................................................... ] Done! 

mount: can't find /rsyncTesting/source/share1 in /etc/fstab or /etc/mtab 
1 

ben mount komutunu çalıştırmadan önce/etc/fstab dosya sistemi yolu ile güncelleştiriyorum. Ayrıca, dosya sistemini manuel olarak root kullanıcısı olarak komut satırından bağlayabiliyorum.

slcnas888: /export/rsyncScriptProject_Source/rsyncShare1/.zfs/snapshot/SR_0000-0000000_Refresh_rsyncShares_RSYNC_PROJ_exp13April16/rsyncTesting/kaynak/share1 Sadece bağlama noktasının adını eklemek mount komutu modifiye

+1

Terminalden kullanacağınız komut satırını ekleyebilir misiniz? Kodun yalnızca değişkenlerle uğraştığını ve gösterilen çıktının bir kısmının kod snippet'iyle hiçbir ilgisi olmadığını göz önüne alındığında, bu size daha sonra –

+2

'mount'unu ayarlayabileceğiniz bir çözüm bulmanıza yardımcı olur: bulamıyor/rsyncTesting/source/share1 in/etc/fstab' - herşeyi anlatıyor ... – isedev

+0

linux komut satırından şu komutu çalıştırıyorum: "mount/rsyncTesting/source/share1" el ile çalışıyor. Dosya sistemi girdisini/etc/fstab dosyasına ekliyorum ve iyi çalışıyor ancak python alt işlemi başarısız oluyor. – Kalyan

cevap

0

,
yani mount /absolute-nas-fs-path /mount-point sadece mount /absolute-nas-fs-path yerine.

ben linux, biz mount <mount point path> çalışan /etc/fstab dosyaya girdileri eklerken kabuğundan çalışıyor gözlemlenmiştir, ancak bir piton alt süreç olarak biz komuta bağlama noktası yanı sıra dosya sistemi mutlak yolunu hem geçmesi gerekiyor parametre.

# self.src_fs[l] is an item from my list of filesystem paths. 
# self.src_m[l] is an item from my list of mount points. 
self.mountSrc = subprocess.Popen('mount ' + self.src_fs[l] + ' ' + self.src_m[l], shell = True) 
print self.mountSrc 
if self.mountSrc == 0: 
    print "Mounted filesystem:" + self.src_m[l] 
İlgili konular