我怎么能告诉matlab在后台运行?

5视图(30天)
我想能够运行工作背景或前景。我的程序在后台运行好前景但崩溃,大概是因为它不是看到一些环境变量。导致崩溃的命令只适用于前台应用程序(它与屏幕输出),所以我可以很容易地避免这个问题如果我可以标记程序是否运行在前台。我的问题是:matlab知道它被作为前景或背景应用程序运行,如果是的,这个变量就意味着什么?
谢谢你的任何建议
2的评论
利奥西蒙
利奥西蒙 2013年3月31日
嗨,杰森,对不起我错过了你的反应。对不起,缺乏清晰的。
我在linux上运行。
有时我使用nohup运行,其他时候使用- r标记。
我想要区分这两种情况下当我运行一个命令在matlab。
特别是,我有一个计划,我有时跑批处理作业,有时在matlab会话。如果是前者我想辞职,如果是后者,我想简单地返回给调用者的工作区
谢谢

登录置评。

接受的答案

杰森·罗斯
杰森·罗斯 2013年4月1日
我将运行“系统(env)”在两种模式下,输出到一个文件,diff。
我已经偷偷地怀疑与显示环境变量的区别。
1评论
利奥西蒙
利奥西蒙 2014年4月14日
非常感谢杰森,你完全正确!我不知道为什么我之前没有尝试你的建议了。但漂亮,至少对于linux,没有试过别的。
以防别人关心这个(似乎不这样!)这是一些代码的检查
%检查一个程序是否运行前景或背景。
%是在前台敌我识别系统中有一条线(“env”)说
%显示=:0
函数isBg = bgfg;
isBg = 1;
[~,myEnv] =系统(“env”);
startString =中(“显示”,myEnv);
2 = 1:元素个数(startString);
endString = startString (ii) + 8;
如果比较字符串(myEnv (endString: endString + 1),”:0 ');
isBg = 0;
打破;
结束;
结束;

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!