diff --git a/Shell/Builtin.cpp b/Shell/Builtin.cpp index 5194d6ace4..f9994965c6 100644 --- a/Shell/Builtin.cpp +++ b/Shell/Builtin.cpp @@ -262,11 +262,13 @@ int Shell::builtin_exit(int argc, const char** argv) if (!parser.parse(argc, const_cast(argv))) return 1; - if (!jobs.is_empty()) { - if (!m_should_ignore_jobs_on_next_exit) { - fprintf(stderr, "Shell: You have %zu active job%s, run 'exit' again to really exit.\n", jobs.size(), jobs.size() > 1 ? "s" : ""); - m_should_ignore_jobs_on_next_exit = true; - return 1; + if (m_is_interactive) { + if (!jobs.is_empty()) { + if (!m_should_ignore_jobs_on_next_exit) { + fprintf(stderr, "Shell: You have %zu active job%s, run 'exit' again to really exit.\n", jobs.size(), jobs.size() > 1 ? "s" : ""); + m_should_ignore_jobs_on_next_exit = true; + return 1; + } } } stop_all_jobs();