- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的本地机器上使用 IntelliJ IDEA 测试我的 Java 应用程序(它旨在用作守护程序,因此使用 jsvc )。
出于测试目的,我希望将 stdout 和 stderr 都输出到控制台。
根据 jsvc 帮助站点 ( jsvc --help ) 设置 -outfile '&2'
和 -errfile '&1'
应该将 stdout 和 stderr 重定向到彼此(根据我的理解)。
在普通 shell(设置了这两个选项)中,守护进程启动并向控制台输出一些内容,但是当使用 Gradle Exec task 时和 Gradle 守护进程完全相同的命令崩溃并输出到文件“&2”和“&1”。
任务配置:
File jsvcFile = file("./jsvc")
File pidFile = file("./jsvc.pid")
String mainClass = "substupdater.SubstUpdater"
task run (dependsOn: [jar, jsvc], type: Exec) {
doFirst {
// Get the absolute path of all libraries
String classPath = project.configurations.compile.join(':')
executable(jsvcFile)
args("-server", "-cp", classPath + ':' + jar.archivePath, "-nodetach",
"-cwd", project.rootDir, "-outfile", "'&2'", "-errfile", "'&1'",
"-pidfile", pidFile, "-procname", project.name, mainClass, "debug")
}
}
21:57:52.911 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTING
21:57:52.914 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Waiting until process started: command '/path/to/jsvc'.
21:57:52.924 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTED
21:57:52.925 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command '/path/to/jsvc''
21:57:52.926 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled...
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
21:57:53.528 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Removing daemon address: [some-address port:35450, addresses:[/0:0:0:0:0:0:0:1%lo, /127.0.0.1]]
21:57:53.529 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
21:57:53.529 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
21:57:53.530 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
21:57:53.530 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] Abort requested. Destroying process: command '/path/to/jsvc'.
21:57:53.532 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: ABORTED
21:57:53.533 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command '/path/to/jsvc'' finished with exit value 1 (state: ABORTED)
----- End of the daemon log -----
21:57:53.888 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientInputForwarder] Dispatching close input message: org.gradle.launcher.daemon.protocol.CloseInput@ce9a99
21:57:53.888 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 18: dispatching class org.gradle.launcher.daemon.protocol.CloseInput
21:57:53.889 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: connection stop
21:57:53.907 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
21:57:53.907 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
21:57:53.907 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
21:57:53.908 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
21:57:53.908 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
21:57:53.908 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
21:57:53.908 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
21:57:53.908 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Run with --stacktrace option to get the stack trace.
最佳答案
我只需指定文件描述符符号链接(symbolic link)的完整路径(即 /proc/self/fd/1
的 stdout
和 /proc/self/fd/2
的 stderr
),现在正在向控制台输出。
Gradle 守护进程仍然崩溃,但我认为这是由于 Gradle 无法处理 jsvc 守护进程杀死自己(?)。
关于java - jsvc & Gradle - 没有控制台输出,Gradle 守护进程崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45245954/
我正在使用 native 编译的 jsvc 来启动 java 守护进程。我在 openSUSE 32 位虚拟机上运行它。该代码实现了 Apache 的守护进程接口(interface),我使用以下命令
我正在尝试使用 jsvc 对我的 Java 应用程序进行去魔化.这是我的启动脚本 #!/bin/sh # CONFIG JSVC=/opt/jsvc/jsvc JAVA_HOME=/usr/lib/j
jsvc简介 在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口,这是liunx系统的限制,只有root用户才能使用
我已根据指南成功将 Java 服务部署到 Linux 发行版 here即实际的简单文件 IO 滴答代码,我注意到这样一个简单程序的 CPU 使用率很高。可能是由于线程不断检查... 我使用 NetBe
我在 Centos 6 上有一个由 jsvc 托管的应用程序。随之创建了许多日志。我的问题是 jsvc 正在创建具有 077 权限的日志,除了 root 之外任何人都无法访问这些日志。任何人都应该可以
在 debian lenny 中,当运行/etc/init.d/tomcat5.5 start 时,它运行 jsvc 并期望它自行守护进程。 在一个简单的 bash shell 中,这工作正常。 但是
我正在尝试运行一个简单的 JSVC 程序。但是,当我运行脚本时它不会启动。我在日志文件、终端或我能找到的任何系统日志中也没有收到任何错误。 JSVC 似乎没有验证类路径,因为如果我故意使它们无效,我仍
我为此苦苦挣扎了一段时间。我在独立环境中使用 Spring3.1。我有需要添加到类路径(applicationXML)中的资源文件。在 eclipse 中,这是一种众所周知且简单的方法。现在,我正在尝
我们有一个作为守护进程运行的 java 进程(在 jsvc 下)。每隔几天它就会停止做任何工作;日志文件的输出停止(非常冗长,每隔 5 分钟)并且不消耗 CPU 或 IO。 日志文件、syserr 或
我正在运行一个 jsvc 应用程序,它工作得非常好,但现在我需要在我的应用程序上启用一个端口,以便我可以进行远程调试。我正在使用 java 执行上述任务。 有什么办法可以完成上述任务吗?我检查了所有
我正在使用 JSVC 将我的 java 程序作为守护进程启动,该守护进程应该 24/7 运行。 但是,我曾经启用 JMX 来监视我的应用程序,直到我决定将其转换为守护程序。 我的init.d脚本是这样
我正在尝试创建一个用 Java 编写的将在 Ubuntu Linux 中运行的服务。我的可执行 Jar 文件是一个很大的 Jar 文件,其中包含所有依赖项。当我尝试使用 JSVC 运行它时,出现以下错
我有一个 Web 应用程序,其中第一个请求可能需要几秒钟,因为一些单例已初始化。 我使用了 this question 中提到的 mod_proxy 和 jsvc 构造并在 this page 上进行
我已经使用 jsvc 作为守护进程在 centos 5.5 上安装了我的 tomcat 版本 6。运行数小时或数天后,tomcat jsvc 进程在那里休眠并使用 %100 的 CPU 资源,这显示在
我正在尝试使用 jsvc 运行 tomcat6,以便在开始时获得用户权限。 我正在尝试使用 tomcat 文档中的代码运行:http://tomcat.apache.org/tomcat-6.0-do
我正在尝试使用 jsvc 让 Java 应用程序作为 Linux 服务运行。我找到了 How to convert a java program to daemon with jsvc?这能够帮助我完
我在 classpath 中有 commons-daemon-x.jar。 Jsvc正在成功启动 Java VM。但是 jsvc 报告它找不到守护程序加载器类,即使它位于 classpath 中。 有
我正在尝试在我的本地机器上使用 IntelliJ IDEA 测试我的 Java 应用程序(它旨在用作守护程序,因此使用 jsvc )。 出于测试目的,我希望将 stdout 和 stderr 都输出到
我正在尝试使用 JSVC 将 java 程序作为守护进程运行。这是我使用过的简单代码: package daemonexample; public class DaemonExample implem
我正在尝试使用 jsvc 运行 tomcat 7,但我收到了一个错误,尽管我相信我的类路径是正确的。 我是这样开始的: # export JAVA_HOME=/opt/java/jdk1.7.0_07
我是一名优秀的程序员,十分优秀!