等待进程ID时返回代码127

时间:2017-03-01 15:45:45

标签: shell

我目前正在从ksh脚本运行Ab Initio命令。这个过程给我一个127 ..的返回码。

public abstract class AbstractBean {

private static final Logger logger = Logger.getLogger(AbstractBean.class);

@Inject
private Session session;


public boolean isLoggedIn() {
    return session.isLoggedIn();
}

protected Session getSession() {
    return session;
}

public String getTranslation(final String messageKey,
        final Object... formatParameters) {
    return getTranslation(getLanguage(), assertNotNull(messageKey),
            assertWithoutNull(formatParameters));
}

 public static String getTranslation(final Locale locale, final String messageKey,
        final Object... formatParameters) {
    try {
        final ResourceBundle bundle = ResourceBundle.getBundle(
                "internationalization.messages", assertNotNull(locale));
        return getTranslation(bundle, assertNotNull(messageKey),
                assertNotNull(formatParameters));
    } catch (final MissingResourceException e) {
        assertNotNull(logger)
                .error(String.format(
                        "Severe internationalization error: Internationalization bundle for locale '%s' not found!",
                        locale.toString()), e);
    }
    return String.format("No message found for key '%s'!", messageKey);
}

1 个答案:

答案 0 :(得分:1)

脚本没有做我认为你想做的事。

  1. 返回代码" 127"是因为wait ${process_id}命令返回它,因为作为参数接收的进程ID不是后台进程。
  2. 要等待的进程ID不正确,因为命令process_id=${$}接收当前shell脚本实例的PID。正确的做法是使用process_id=$!,它将分配放在后台的最后一个进程的PID。
  3. 回归