当前位置: 首页 > 面试题库 >

在Java中实现“系统”命令

朱炳
2023-03-14
问题内容

我需要一个“系统”函数调用,与Python,Perl,PHP,Ruby和&c相同。当它在Rhino
JavaScript引擎上运行时,它将成为名为Narwhal的JavaScript标准库的组件,而Rhino JavaScript引擎又在Java上运行。

问题在于Java的标准库似乎已经抽象出了生成共享父进程的stdio的子进程的能力。这意味着您不能将交互性推迟到子流程中。

我的第一个建议是实现Python的subprocess.popen。这使用三个“
pumper”线程独立地主动复制父进程的stdio(以防止死锁)。不幸的是,这给我们带来了两个问题。首先,当子流程自愿退出时,输入不会自动关闭。其次,子进程的流无法正确缓冲和刷新。

我正在寻找可以使我们的require(“ os”)。system()命令正常工作的解决方案。

该项目位于http://narwhaljs.org

相关代码

  • http://github.com/tlrobinson/narwhal/blob/d147c160f11fdfb7f3c0763acf352b2b0e2713f7/lib/os.js#L10
  • http://github.com/tlrobinson/narwhal/blob/d147c160f11fdfb7f3c0763acf352b2b0e2713f7/engines/rhino/lib/os-engine.js#L37

问题答案:

不知道这是否是您要查找的内容,但是您可以system通过JNA库调用C 函数:

public class System {
  public interface C extends Library {
    C INSTANCE = (C) Native.loadLibrary(
        (Platform.isWindows() ? "msvcrt" : "c"), C.class);

    public int system(String format);
  }

  public static void main(String[] args) {
    C.INSTANCE.system("vi");
  }
}

无论如何,课程测试都可以在Windows上进行。



 类似资料:
  • 问题内容: 我正在尝试制作一个小的Java程序来执行系统命令,但似乎无法弄清楚 问题是如何使用Java执行系统命令? 更新:我阅读了文档并尝试了一些示例,但仍然无法弄清。为什么不能像C中那样简单 问题答案: 您可能需要查看的文档。这里给出一个例子。

  • 本文向大家介绍java实现选课系统,包括了java实现选课系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现选课系统的具体代码,供大家参考,具体内容如下 这个程序主要是练习IO(文件读写,序列化),集合框架的使用 学生端可以实现,查找课程,增加选课,删除选课的功能 管理端可以实现对备选课程,学生信息的增删查改 缺点:登陆操作没有实现密码验证和多态。           

  • 本文向大家介绍java实现门禁系统,包括了java实现门禁系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现门禁系统的具体代码,供大家参考,具体内容如下 Door.java Computer.java Amind.java Employee.java Guest.java Validate.java FingVId.java PasswordVId.java Test.

  • 本文向大家介绍java实现学籍管理系统,包括了java实现学籍管理系统的使用技巧和注意事项,需要的朋友参考一下 本教程为大家分享了学籍管理系统的具体java代码,供大家参考,具体内容如下 1.需求分析 1.1系统功能设计 (1)能够查询学生的基本信息,如:学号,姓名年龄,班级和性别 (2)能对表格中的学生信息实现增加,删除,查找,修改等功能 (3)能将数据保存到MySQL数据库中,记录下来 (4)

  • 本文向大家介绍Java实现医院管理系统,包括了Java实现医院管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现医院管理系统的具体代码,供大家参考,具体内容如下 1.开发工具 NetBeans8.2 Mysql5.7 mysql-connector-java-5.1.6.jar 2.演示 登录界面 增删查改界面 3.源码 网上难找一个带界面的管理系统源码,我把这简单

  • 本文向大家介绍Java实现购物管理系统,包括了Java实现购物管理系统的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java实现购物管理系统的具体代码,供大家参考,具体内容如下 重点内容 JAVA分支结构练习 动态数组 注册表读写删 代码: 更多学习资料请关注专题《管理系统开发》。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。