Идентификатор процесса команды работал пользователем

Это - незаконный код сценария Dropbox:

def plat():
    if sys.platform.lower().startswith('linux'):
        arch = platform.machine()
        if (arch[0] == 'i' and
            arch[1].isdigit() and
            arch[2:4] == '86'):
            plat = "x86"
        elif arch == 'x86_64':
            plat = arch
        else:
            FatalVisibleError("Platform not supported")
        return "lnx.%s" % plat
    else:
        FatalVisibleError("Platform not supported")

Можно попытаться заменить этим что-то сродни:

def plat():
    arch = platform.machine()
    if (arch[0] == 'i' and
        arch[1].isdigit() and
        arch[2:4] == '86'):
        plat = "x86"
    elif arch == 'x86_64':
        plat = arch
    else:
        FatalVisibleError("Platform not supported")

Конечно, Вы могли бы найти другие проблемы по пути.Удачи.

2
18.12.2014, 13:59
1 ответ

Каждая внешняя команда и каждый подполюс имеет свой PID. Встроенные оболочки не имеют одного.

Я не знаю о какой-либо функции, которая дает вам PID только что вышел синхронной команды. Конечно, вы можете запустить все команды таким образом:

command & pid=$!; fg
1
27.01.2020, 22:21

Теги

Похожие вопросы