V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jorneyr  ›  全部回复第 23 页 / 共 83 页
回复总数  1657
1 ... 19  20  21  22  23  24  25  26  27  28 ... 83  
2022-09-29 18:24:10 +08:00
回复了 w4ngzhen 创建的主题 程序员 请完成实名认证以便使用 Gitee Pages 服务
99 买了个 Gitee Pages 服务支持自定义域名,然后各种问题,不用了。
```java
package cmd;

import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.commons.exec.ExecuteWatchdog;
import org.apache.commons.exec.PumpStreamHandler;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;

/**
* 生成临时 shell 脚本并执行
*/
public class ExecTempShellScript {
public static void main(String[] args) throws IOException {
// 1. 生成临时脚本文件
// 2. 命令写入脚本文件
// 3. 执行脚本
// 4. 删除临时脚本文件

String command = "ls -l /Users/biao";
Path path = Files.createTempFile("mongo-", ".sh");
Files.write(path, command.getBytes(StandardCharsets.UTF_8));
System.out.println(path);

try {
execSh(path.toString());
} finally {
Files.delete(path);
}
}

public static void execSh(String path) throws IOException {
CommandLine cmdLine = CommandLine.parse("sh " + path);
DefaultExecutor executor = new DefaultExecutor();
executor.setExitValues(null);

ExecuteWatchdog watchdog = new ExecuteWatchdog(60000);
executor.setWatchdog(watchdog);

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ByteArrayOutputStream errorStream = new ByteArrayOutputStream();
PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream,errorStream);

executor.setStreamHandler(streamHandler);
executor.execute(cmdLine);

// 获取程序外部程序执行结果
String out = outputStream.toString("UTF-8");
String error = errorStream.toString("UTF-8");

// 处理结果
System.out.println("==== ok ====");
System.out.println(out);
System.out.println("==== error ====");
System.out.println(error);
}
}
```
Java Process 不支持管道吧,有管道的命令我一般都是写入临时 shell 文件,然后执行 shell 文件。
@zzxgz Ansible 每个任务都会起一个进程,如果是耗时任务增加 -B -P 实时心跳检测的话每个任务还会多出 2 个进程,5000 个任务这会导致进程风暴吧。
2022-09-28 08:09:45 +08:00
回复了 IBMall 创建的主题 分享发现 美宇宙飞船成功撞击小行星,试图改变其运行轨道
这也怕,那也怕,啥都别搞就不怕了。
@registerrr 搞个队列吧,5000 个一起上,虽然可能也能行,但总是觉得有点莽。
感觉队列好像也不太好,楼主说每个接口的执行时间大概是 5 分钟,队列只能保证并发量,这样会导致总的运行时间非常长。
Go 的协程做这个比 Java 的线程更合适,或者升级到 Java 19 也支持虚拟线程了,性能提高很多。
2022-09-27 14:50:34 +08:00
回复了 jorneyr 创建的主题 macOS macOS say 命令的 Bug?
@Megrax 新姿势啊。
2022-09-26 12:58:02 +08:00
回复了 Ayanokouji 创建的主题 Apple 记一次 MacBook pro 更换屏幕
@Ayanokouji 好的,有空就去看看。
2022-09-26 12:43:56 +08:00
回复了 Ayanokouji 创建的主题 Apple 记一次 MacBook pro 更换屏幕
我的也是 2021 MBP 14 ,有一个坏点,啥时候去看看。
2022-09-22 11:30:52 +08:00
回复了 ll5270 创建的主题 Android 2022 年了,阻碍你离开 Android 的原因是?
穷!
我也遇到这问题,坑。
2022-09-19 11:46:09 +08:00
回复了 dangyuluo 创建的主题 云计算 有没有不需要创建云机器,单纯运行 Docker 容器的云服务?
自己的 Docker 修改了公用系统的内核参数怎么办?
2022-09-18 16:37:04 +08:00
回复了 BMPixel 创建的主题 MacBook Pro mbp 何时有望换掉刘海屏
你是不知道刘海屏有多香,还惦念 M1 Pro 13 寸呢
2022-09-17 18:13:24 +08:00
回复了 frank1256 创建的主题 程序员 熟人开发商城小程序,怎么要价?
很难得赚到自己认知以外的钱。
2022-09-17 10:00:23 +08:00
回复了 hfl1995 创建的主题 Apple 微博上为什么很多人会纠结录屏会显示药丸?
人间百态。
2022-09-16 17:05:54 +08:00
回复了 LoremIpSum 创建的主题 程序员 外部接口依赖降级,用 redis 还是本地内存
EhCache 也支持分布式。
2022-09-16 09:31:06 +08:00
回复了 kalman03 创建的主题 分享创造 一个更好用的 Maven 搜索引擎
挺好用的,收藏
2022-09-15 11:42:31 +08:00
回复了 jtsr 创建的主题 Python 大家平时都怎么命名 split 后的变量
split 得到的数组业务用途是啥,最好名字和业务术语相关。
勤劳如果能致富,那么中国就不会有 8 亿农民了。
1 ... 19  20  21  22  23  24  25  26  27  28 ... 83  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3205 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 11:03 · PVG 19:03 · LAX 04:03 · JFK 07:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.