首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Clojure中,如何向Clojure.java.shell/sh创建的进程发送退出命令

在Clojure中,可以使用Clojure.java.shell/sh函数创建进程,并且可以通过向进程发送退出命令来终止进程。

要向Clojure.java.shell/sh创建的进程发送退出命令,可以使用进程的输出流(:out)或错误流(:err)来发送命令。首先,我们需要使用Clojure.java.io/writer函数创建一个写入流,然后将其传递给进程的输入流(:in)。

下面是一个示例代码,演示如何向Clojure.java.shell/sh创建的进程发送退出命令:

代码语言:txt
复制
(require '[clojure.java.shell :refer [sh]])
(require '[clojure.java.io :as io])

(let [process (sh "ls")
      exit-command "exit\n"
      writer (io/writer (:in process))]
  (.write writer exit-command)
  (.flush writer)
  (.close writer)
  (sh "echo" "Process exited with code" (:exit process)))

在上面的示例中,我们首先使用sh函数创建了一个进程,该进程执行了ls命令。然后,我们定义了一个exit-command变量,其中包含了要发送给进程的退出命令。接下来,我们使用io/writer函数创建了一个写入流writer,并将其传递给进程的输入流(:in)。然后,我们使用.write方法将退出命令写入流中,使用.flush方法刷新流,最后使用.close方法关闭流。

通过以上操作,我们成功向进程发送了退出命令。最后,我们使用sh函数执行了echo命令,打印出进程的退出状态码。

请注意,上述示例中的命令仅用于演示目的。实际使用时,你需要根据具体的需求和命令来修改代码。

关于Clojure和Clojure.java.shell的更多信息,你可以参考以下链接:

  • Clojure官方网站:https://clojure.org/
  • Clojure.java.shell文档:https://clojure.github.io/clojure/clojure.java.shell-api.html
相关搜索:Babashka -如何将stdout从外部进程调用`clojure.java.shell/sh`路由到实际的stdout如何向C中的进程发送信号?如何向Kubernetes中运行的容器发送命令?如何使用react钩子将在子进程中创建的数据发送到父进程?在屏幕中,如何在单个屏幕会话中向所有虚拟终端窗口发送命令?在vscode的集成终端中运行命令后如何获取退出代码如何解决异常:Windows10中Java网关进程在发送端口号前已退出如何调用python脚本中的函数,然后在kill命令终止时退出?如何通过邮件发送在android/data中创建的文件?如何在moodle中向管理员发送“课程创建者”角色的请求?在Java中,子线程如何向主线程(方法)发送连续的消息?向新用户发送带有令牌的电子邮件以在Laravel中创建帐户如何确保在aspnetcore后台服务中启动的进程在web应用程序退出时终止。如何使用java在android中同时向1个以上的用户发送otp?如何向在控制器中抛出的异常发送messages.properties密钥?如何通过多进程模块创建的工作进程在python中组合动态生成的测试套件如何在nightwatch.js自定义命令中向浏览器堆栈发送正确的请求?如何利用arduino uno在一次数据包传输中向xbee路由器发送多条命令在Node JS中,如何解析命令来接收带有子进程的特定行如何在PostgreSQL中通过命令行获取仅转储函数创建和存储的进程脚本
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券