小编BOC*_*BOC的帖子

为什么当我的子进程死亡时,KILL信号处理程序没有执行

我已经将一些脚本从ksh迁移到了bash,我在bash中观察到了非常奇怪的行为.我能够减少到一个非常短的片段.

echo first test
LC_ALL=C xclock &
Active_pid=$!

sleep 1

kill -9 $Active_pid
sleep 1

echo second test
LC_ALL=C xclock &
Active_pid=$!

sleep 1
trap "echo Signal SIGKILL caught"  9
kill -9 $Active_pid
sleep 1
Run Code Online (Sandbox Code Playgroud)

输出是

first test
./mig_bash.sh: line 15:  4471 Killed                  LC_ALL=C xclock
second test
Run Code Online (Sandbox Code Playgroud)

我的问题是在第一次测试中产生了迹线.我试图看看是否收到了信号.通过反复试验,我写了"第二次测试"来解决我的问题.我不明白.如何在不执行的情况下删除第一个测试的跟踪echo Signal SIGKILL

我完全迷失了.

bash

7
推荐指数
1
解决办法
155
查看次数

java walkFileTree模仿chmod -R 755不起作用

我想确保目录树中的正确权限(目录为0755,文件为644).这是我的班级:

package NRF_Utils;

import java.io.IOException;
import java.nio.file.FileVisitResult;
import static java.nio.file.FileVisitResult.*;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Set;
import java.util.logging.Logger;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;

public class DirectoryTreeOperations {
    private static final Logger log = Logger.getLogger("spv." + DirectoryTreeOperations.class.getName());

    public static boolean setPermissions(String root, String directoryPermissions, String filePermissions) {
        boolean result = true;
        //declaring the path to delete
        final Path path = Paths.get(root);
        final Set<PosixFilePermission> dirPermissions = PosixFilePermissions.fromString(directoryPermissions);
        final Set<PosixFilePermission> filPermissions = PosixFilePermissions.fromString(filePermissions);

        try {
            Files.walkFileTree(path, new FileVisitor<Path>() …
Run Code Online (Sandbox Code Playgroud)

java

4
推荐指数
1
解决办法
284
查看次数

标签 统计

bash ×1

java ×1