diff --git a/Applications/Terminal/main.cpp b/Applications/Terminal/main.cpp index 7d1aee8712..8b1177f7b2 100644 --- a/Applications/Terminal/main.cpp +++ b/Applications/Terminal/main.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -272,7 +273,12 @@ int main(int argc, char** argv) app_menu.add_action(GUI::Action::create("Open new terminal", { Mod_Ctrl | Mod_Shift, Key_N }, Gfx::Bitmap::load_from_file("/res/icons/16x16/app-terminal.png"), [&](auto&) { pid_t child; const char* argv[] = { "Terminal", nullptr }; - posix_spawn(&child, "/bin/Terminal", nullptr, nullptr, const_cast(argv), environ); + if ((errno = posix_spawn(&child, "/bin/Terminal", nullptr, nullptr, const_cast(argv), environ))) { + perror("posix_spawn"); + } else { + if (disown(child) < 0) + perror("disown"); + } })); app_menu.add_action(GUI::Action::create("Settings...", Gfx::Bitmap::load_from_file("/res/icons/gear16.png"), [&](const GUI::Action&) {