2013-05-09 53 views
3

我在這裏發現了一個類似的問題,它不能幫助我,因此我在問自己的問題。 我有一個matlab腳本,可以在nohup命令的linux下完美的工作。 不幸的是,我還需要在Windows上運行它。但我不明白爲什麼我的命令仍然不起作用。 我的腳本做了一定的循環,但在第一次停止後,我停止給我一個關於java或其他東西的錯誤。我必須告訴你,如果我沒有使用-nodisplay命令,那麼在linux下會出現同樣的問題。如何禁用Windows平臺上的JVM以運行背景matlab腳本

我的批次線以下

matlab -nodisplay -automation -r "run('myfile.m')" -logfile output.txt -minimize

請幫助我。

編輯: 我想我找到了我的問題,問題是當我使用-nodisplay linux下的命令usejava('awt')作品,因爲我的Java環境中被禁用,但是這無法在Windows下發生!爲什麼?

秒編輯: 我想我發現了一些與我所需要的非常相似的東西。

matlab -noawt -noFigureWindows -r "run('myfile.m')" -logfile output.txt -minimize 

分析運行,沒有說什麼,但在MATLAB命令窗口依然打開minimized..uhm 我寧願有什麼開拓!

我必須添加其他的東西.. nohup永遠等待前進直到它到達腳本的結尾,不過使用任何其他批處理命令如start如果有任何輸入請求或「等待」它停止,直到有人給一個輸入!

+0

這是相關的問題:[在後臺運行matlab](http://stackoverflow.com/questions/3000724/)? – 2013-05-09 16:27:32

+0

@EitanT nope這個問題是關於UNIX/Linux系統的 – Nicholas 2013-05-09 16:49:35

+0

但是在Windows中沒有'nohup',窗口進程仍然應該在它的父對象被殺死後生存......那麼你想要做什麼呢? – 2013-05-09 16:51:15

回答

5

未公開的-noawt選項將阻止GUI功能,但讓Java運行。結合-noFigureWindows,你發現,你應該有你需要的。或者,您可以turn off figure display via your M fileset(0,'DefaultFigureVisible','off')

要查看Java是否實際加載,請運行verversion -java。這是我看到-nojvm

Windows MATLAB with no Java

然後,使用Windows的start /b /min MATLAB.exe ...應該啓動它最小化,並沒有拿着打開命令窗口。

爲了使MATLAB 無形嘗試使用微型NirCmd命令行工具如下,

nircmd.exe exec hide win64\MATLAB.exe -noawt -noFigureWindows -nosplash -minimize ... 

我認爲應該這樣做,確保你開始在bin\<architecture>文件夾中的實際MATLAB.exe,不只是bin\matlab.exe,因爲它啓動實際的MATLAB.exe時,它不會被隱藏。

+0

那麼你是否告訴我,沒有命令的窗口,以防止Java運行..這聽起來很奇怪。謝謝你現在的答案。 – Nicholas 2013-09-28 17:32:04

+1

好吧,正如丹尼斯所說的那樣,'-nojvm' **應該**也適用於Windows。當MATLAB啓動時,'ver'命令會告訴你它是否啓動Java。 – chappjc 2013-09-28 18:44:21

+0

即使我已經嘗試過,我也會嘗試-nojvm。但我很確定那是我錯過的-noawt ..我們會看到 – Nicholas 2013-09-28 19:24:24

相關問題