![]() |
1
1
我不确定这是否是您想要的,但是有一些基于Web的ssh客户机。如果您关心安全性,只需要动态反馈,那么您可以查看Comet,或者只需要一个带有自己HTTP会话的框架,该框架在完成打印之前不会结束。 |
![]() |
2
1
基于Web的SSH客户端将工作在主机中(在那里有Java SSH客户端)。 Ruby有一个基于网络的终端: http://tryruby.org (指向源的链接位于页面底部)。 您还可以通过jruby嵌入Ruby: http://tim.lossen.de/2007/03/jruby/applet.html http://github.com/jruby/jruby/blob/master/samples/irb-applet.html |
![]() |
3
1
我没有听说有任何库可以这样做,但是您需要设置系统命令并向系统发出调用。然后,您将需要“抽取”sysout和syserr标准输入,并将这些数据通过管道返回到Web客户机。 作为这种类型问题的一个例子,研究一下人们如何使用ruby/python/etc来转换视频的代码截图,也就是说。 http://kpumuk.info/ruby-on-rails/encoding-media-files-in-ruby-using-ffmpeg-mencoder-with-progress-tracking/ -我的例子摘自这篇博文。
我不知道这个示例是否同时从sysout和syserr中提取数据,但是您肯定需要从这两个接口中提取数据,通常如果缓冲区满了,执行命令可能挂起或失败(我在python中遇到过这种情况)。如果只返回
|
![]() |
4
1
所以,我试着用代码来回答我自己的问题,因为我找不到任何适合我的答案。希望它对遇到同样问题的任何人都有用。 Redbeard 0x0A向我指出了一个大致的方向,我可以使用popen执行Ruby脚本中的任何操作。把它扩展到使用EventMachine(因为它提供了一种编写WebSocket服务器的方便方法),并使用它的内置popen方法解决了我的问题。 此处提供更多详细信息 http://morethanseven.net/2010/09/09/Script-running-web-interface-with-websockets.html 代码在 http://github.com/garethr/bolt/ |
![]() |
5
0
当然不是 最好的 运行shell命令的方法,但可能最简单:
|
![]() |
6
0
除了能够在作业运行期间显示输出的需求外,它们都是很好的解决方案!它们也都是写在i python(和yabi,甚至在django上)。 它们都是在考虑生物信息学的基础上构建的,但实际上都是一般的工作运行程序/工作流工具。 它们允许您在Web界面中指定参数,在单独的列中查看排队/运行/完成的作业,在作业完成后,检查详细信息和结果,或者使用可能更改的参数重新运行作业。 Galaxy更容易安装。Galaxy安装可以归结为下载并运行“sh run.sh”),添加您自己的工具可以归结为在以下行中创建一个XML文件:
…把它放在/tools文件夹中,在tool conf.xml中添加一行,告诉Galaxy你的新工具(在那里你还可以去掉生物信息学工具,这样它们就不会弄乱你的工具菜单)。 Yabi的安装更复杂(请参阅自述文件),但是如果您使用的是正确的系统,安装过程可能会很顺利。另一方面,它甚至允许您在Web界面中进行工具配置,而不是像Galaxy那样作为XML文件。 不过,Galaxy仍然是最大的社区,这反映在功能/已集成工具的数量上(请参见 toolshed 对于共享工具/包装器)。 |
![]() |
7
0
websocketd 看起来是完美的工具。 |
![]() |
Plankt0n · Shell,执行一个需要逐一遍历多个值的命令 5 月前 |
![]() |
Fin · 如何使用bash从表中提取数据 5 月前 |
![]() |
aenagy · Bash声明不喜欢带空格的值 5 月前 |
![]() |
PkDrew · AND运算符“&”在“&tee”中的作用是什么? 5 月前 |
![]() |
elbarna · 正则表达式仅排除小写字符串,但保存包含大写的字符串 6 月前 |
![]() |
Harry · 使用“$!”获取后台作业的pid 6 月前 |
![]() |
nmr · 使用来自另一个shell脚本的if语句的返回码函数 6 月前 |
![]() |
minseong · Git sed忽略二进制文件 9 月前 |
![]() |
Jesper.Lindberg · 检查参数是否包含null 10 月前 |