6

Linux 输出 Linux 输出$?查看上一条命令的执行状态是否存在并发...

 3 years ago
source link: https://www.v2ex.com/t/791324
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Linux

Linux 输出 Linux 输出$?查看上一条命令的执行状态是否存在并发问题

  MadDoggy · 1 天前 · 748 次点击

项目需要用 java 执行命令行命令,通过$?判断执行情况,是否存在并发的问题;有什么其他判断的好方法也可以赐教,感谢

9 条回复    2021-07-23 20:26:56 +08:00

snuglove

snuglove   1 天前

命令是按照一行计算执行是否成功的,不存在并发问题吧.

yfugibr

yfugibr   1 天前 via Android

结果写入特定文件?

Jirajine

Jirajine   1 天前 via Android   ❤️ 1

$?是 shell 的,你 Java 执行命令和 shell 有啥关系?

chendy

chendy   1 天前

直接取进程返回值就行,为啥还要 用$?

XiLingHost

XiLingHost   1 天前

Java 执行其他命令未必是通过 shell 吧,而且就算是通过 shell,也无法确保你获取$?的语句在同一个 shell 环境下,所以我觉得你不如直接获取返回值

wms

wms   1 天前

fork waitpid

ch2

ch2   1 天前

每个命令由单独的 shel 执行就不会有问题,但是 1 个 shell 至少 2 个进程,开销自己算

imKiva

imKiva   22 小时 25 分钟前

Process#waitFor() 返回的就是退出状态

libook

libook   22 小时 15 分钟前 via Android

我的理解是 Shell 的状态只和当前会话有关,不会说多个 Shell 共享状态,所以你在当前 Shell 最后一个返回的指令会被你的$?取到值。那么问题来了,Shell 都是一条一条执行的,你是用什么方式让一个 Shell 回话并发执行多条命令的呢?这个得根据具体情况来看。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK