Unix Julia正在运行外部程序

Unix Julia正在运行外部程序,unix,julia,pipeline,Unix,Julia,Pipeline,如何将以下内容转换为Julia的run/readstring/pipeline()框架 home/bin/julia/home/elite\u script.jl&>/home/beckman/elite\u log.log&这将对应于: spawn(pipeline(`home/bin/julia /home/elite_script.jl`, stdout="/home/beckman/elite_log.log", append=true)) 这相当于: spawn(pipeline(`

如何将以下内容转换为Julia的run/readstring/pipeline()框架


home/bin/julia/home/elite\u script.jl&>/home/beckman/elite\u log.log&
这将对应于:

spawn(pipeline(`home/bin/julia /home/elite_script.jl`, stdout="/home/beckman/elite_log.log", append=true))

这相当于:

spawn(pipeline(`home/bin/julia /home/elite_script.jl`, stdout="/home/beckman/elite_log.log", append=true))

我认为简单的答案是“你不能”(或者更确切地说,“你不应该这样做”),因为
管道
函数要求至少一个参数是“shell命令”。如果您不打算在环境级别重定向输出,但希望在julia会话中执行此操作,那么您真的应该适当地写入文件,而不是依赖黑客重定向。话虽如此,我确信这样一个“黑客”把戏是存在的(可能是以某种方式重新定义了标准标准STDOUT)。可能的重复:在后台运行一个命令,让Julia ala
echo让美国再次成为同性恋&
在上面的“潜在重复”链接中查看我的答案。如果您只想在REPL会话中执行shell命令,只需按
并发出命令。另外,如果您尝试异步执行某些操作,那么您可能最好还是使用
@async
来代替。不从REPL执行此操作…基本上有一个脚本(a)来重新启动另一个脚本(B),该脚本需要在后台运行,因为一旦该脚本(a)完成,它将导致其补码(B)退出/崩溃。我认为简单的答案是“你不能”(或者更确切地说,“你不应该这样做”),因为
管道
函数要求至少有一个参数是“shell命令”。如果您不打算在环境级别重定向输出,但希望在julia会话中执行此操作,那么您真的应该适当地写入文件,而不是依赖黑客重定向。话虽如此,我确信这样一个“黑客”把戏是存在的(可能是以某种方式重新定义了标准标准STDOUT)。可能的重复:在后台运行一个命令,让Julia ala
echo让美国再次成为同性恋&
在上面的“潜在重复”链接中查看我的答案。如果您只想在REPL会话中执行shell命令,只需按
并发出命令。另外,如果您尝试异步执行某些操作,那么您可能最好还是使用
@async
来代替。不从REPL执行此操作…基本上有一个脚本(a)来重新启动另一个脚本(B),该脚本需要在后台运行,因为一旦该脚本(a)完成,它将导致其补码(B)退出/崩溃(如果有意义的话)。+1。唉,这并没有像预期的那样起作用(更不用说实时日志记录和跟踪了,这似乎是OP所追求的)。使用此脚本检查:
i=0;虽然真实;睡眠(1);i+=1;println(“$i秒已过”);结束
如果在println之后添加
flush(STDOUT)
,则它会起作用。我们似乎不做行缓冲;我相信是这个问题。唉,这并没有像预期的那样起作用(更不用说实时日志记录和跟踪了,这似乎是OP所追求的)。使用此脚本检查:
i=0;虽然真实;睡眠(1);i+=1;println(“$i秒已过”);结束
如果在println之后添加
flush(STDOUT)
,则它会起作用。我们似乎不做行缓冲;我认为这是一个问题: