Tag: shell

如何在log4j RollingFileAppender中从Java中启动的Shell脚本输出日志?

我在Tomcat上运行Java Web应用程序,在运行时执行Shell脚本,其中执行许多“echo”命令。 我的问题是我希望我的所有日​​志都出现在log4j RollingFileAppender中,即: Java Log4j日志(很容易做到) Shell echo命令日志(这对我来说是棘手的部分) Shell脚本通过java.lang.Process类运行。 到目前为止,由于log4j提供的StreamUtils.copy()方法,我已设法将进程的inputStream和errorStream输出到System.out。 但是这样可以获得一些ConsoleAppender输出,但不是RollingFileAppender输出。 有没有方便的方法将Process流重定向到RollingFileAppender? 在Log4j配置中还是从Java代码? 这是我的LOG4J appender conf: 这是我的启动脚本代码: ProcessBuilder pb = new ProcessBuilder(“sh”, “script.sh”); Process p = pb.start(); StreamUtils.copy(p.getInputStream(), System.out); StreamUtils.copy(p.getErrorStream(), System.out); int result = p.waitFor(); LOG.info(“Script ended with result ” + result); return (result == 0);

如何使用java从Json文件导入Mongodb数据

我正在努力将数据从Json文件导入Mongodb 。 我可以使用mongoimport command在命令行中执行相同的操作。 我探索并尝试了很多,但无法使用java从Json文件导入。 sample.json { “test_id” : 1245362, “name” : “ganesh”, “age” : “28”, “Job” : {“company name” : “company1”, “designation” : “SSE” } } { “test_id” : 254152, “name” : “Alex”, “age” : “26”, “Job” : {“company name” : “company2”, “designation” : “ML” } } 谢谢你的时间。 〜Ganesh神〜

防止Cassandra转储hprof文件

我想阻止Cassandra转储hprof文件,因为我不需要使用它们。 我也有非常有限的磁盘空间(100 GB中的50GB用于数据),这些文件吞噬了所有磁盘空间,然后才能说“停止”。 我该怎么办呢? 是否有我可以用来擦除这些文件的shell脚本?

如何在android app中运行rename shell命令(rooted)

我是Android的新手。 我正在尝试运行shell命令来重命名系统中的文件。 我有root访问权限。 shell命令: $ su # mount -o remount,rw /system # mv system/file.old system/file.new 我试过这个但不起作用: public void but1(View view) throws IOException{ Process process = Runtime.getRuntime().exec(“su”); process = Runtime.getRuntime().exec(“mount -o remount,rw /system”); process = Runtime.getRuntime().exec(“mv /system/file.old system/file.new”); }

如何将Jar文件传递给OOZIE shell节点中的shell脚本

嗨我在脚本中运行java程序时遇到错误,该脚本正在oozie shell action workflow中执行。 Stdoutput 2015-08-25 03:36:02,636 INFO [pool-1-thread-1] (ProcessExecute.java:68) – Exception in thread “main” java.io.IOException: Error opening job jar: /tmp/jars/first.jar Stdoutput 2015-08-25 03:36:02,636 INFO [pool-1-thread-1] (ProcessExecute.java:68) – at org.apache.hadoop.util.RunJar.main(RunJar.java:124) Stdoutput 2015-08-25 03:36:02,636 INFO [pool-1-thread-1] (ProcessExecute.java:68) – Caused by: java.io.FileNotFoundException: /tmp/jars/first.jar (No such file or directory) Stdoutput 2015-08-25 03:36:02,636 INFO [pool-1-thread-1] (ProcessExecute.java:68) – at java.util.zip.ZipFile.open(Native […]

IntelliJ无法识别PATH变量

我最近尝试导入现有的Gradle项目,使用启动窗口中的“打开项目”选项和现有的build.gradle文件来自动设置项目。 在我这样做之后,IntelliJ中出现了一条错误消息,说: 无法使用Gradle安装’/Users/myUser/Tools/gradle-1.3’获取类型’BasicIdeaProject’的模型。 构建文件’/Users/myUser/IdeaProjects/myProject/database/build.gradle’行:20评估项目’:database’时出现问题。 评估项目’:database’时出现问题。 在PATH中找不到’play’命令。 确保已安装Play Framework 2.0并在路径中 看起来,IntelliJ抱怨我没有将play框架添加到我的PATH变量中。 虽然shell的输出告诉某事。 其他: echo $PATH; /usr/local/bin:/Users/myUser/Library/Ruby/Gems/1.8/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/myUser/.yadr/bin:/Users/myUser/.yadr/bin/yadr:/Users/myUser/Tools/gradle/bin:/usr/local/Cellar/mongodb/2.2.2-x86_64//bin:/Users/myUser/Tools/groovy/bin:/Users/myUser/Tools/play-2.0 我还写了一个简单的类来显示IntelliJ使用的PATH变量: public class Playground { public static void main(String[] args) { System.out.println( System.getenv( “PATH” )); } } 当我运行这个类时,它给了我以下输出: /usr/bin:/bin:/usr/sbin:/sbin 看起来,IntelliJ完全忽略了shell中设置的PATH变量。 所以我想知道如何操作/配置IntelliJ来识别这个PATH变量? 我使用的shell是zsh。 提前致谢

如何在Java中执行shell命令?

我在想是否可以发送shell来执行Client-Server ipconfig。 那可能吗? 这是我在本地的代码: class Comando { public static void main(String args[]) { String s = null; try { // Determinar en qué SO estamos String so = System.getProperty(“os.name”); String comando; // Comando para Linux if (so.equals(“Linux”)) comando = “ifconfig”; // Comando para Windows else comando = “ipconfig”; // Ejcutamos el comando Process p = […]

如何使用JSch运行和显示shell命令ssh的结果?

我尝试使用库JSch – Java安全通道在我的Android应用程序中建立一个ssh连接,它的工作原理。 现在我想执行一个命令并检索结果。 我尝试了几种效果最好的方法。 但是,这种方法只能部分工作,因为由于某种原因我无法解释,我的程序在我的while循环结束时停止,但我是我日志中出现的命令的结果。 这是我的代码: public static String executeRemoteCommand(String username, String password, String hostname, int port) throws Exception { JSch jsch = new JSch(); Session session = jsch.getSession(username, hostname, port); session.setPassword(password); // Avoid asking for key confirmation Properties prop = new Properties(); prop.put(“StrictHostKeyChecking”, “no”); session.setConfig(prop); session.connect(); Channel channel = session.openChannel(“shell”); channel.connect(); DataInputStream dataIn […]

如何生成2小时的空白video

我想生成一个黑色或白色背景(甚至根本没有)的video,持续特定的持续时间(例如2小时)。 能否请您以编程方式快速建议(例如命令行,OpenCV)? 谢谢。

在java脚本中执行shell脚本或从浏览器触发扫描器

我有一个用于扫描扫描仪(硬件)文档的shell脚本。 Shell脚本存储在每个客户端系统中。 假设客户端扫描应用程序意味着我必须运行该shell脚本并将扫描的应用程序存储在服务器中。 我正在使用Html,JavaScript和servlet。 如果我从servlet运行shell脚本,它将在服务器中执行shell脚本。 我想从客户端系统执行shell脚本。 我想如果我们使用JavaScript,我们可以做到这一点。 有没有办法做到这一点? 除了shell脚本之外,我们如何在浏览器中触发扫描程序?