如何在不使用 ctrl + c 的情况下调用终端命令后立即终止该命令?

如何在不使用 ctrl + c 的情况下调用终端命令后立即终止该命令?

我在 Mac 上经常运行如下命令:

user@host ~/ $ tail -f /some/directory/api-access.log | code -
user@host ~/ $ php artisan route:list | code -

所有这些命令所做的就是获取输出并在 Visual Studio 代码中打开。但在调用该命令后,它会在终端中保持该命令打开。在 Visual Studio 代码中打开输出后,我希望该命令停止。理想情况下,我想要一行字,这样我就不必按ctrl+ c,我该怎么做?

答案1

因此,您希望终端立即可供您使用,而编辑器仍在运行。由于编辑器和前面的命令都是管道的组件,因此您不能只将其中一个发送到后台。你必须把它们都放在背景中。

我认为这code是某种基于 GUI 的编辑器,因此它本身不会占用终端。

$ ( tail -f /some/directory/api-access.log | code - ) &

或者

$ ( php artisan route:list | code - ) &

答案2

虽然我确信你问的是AB问题。也就是说,你已经决定对问题 B 采取解决方案 A,现在正在询问如何做 A。当你应该询问 B 时。

就是这样说的。

program &
kill $!

如果你尝试这样做,你会后悔的。它有很多问题(种族危险,并没有真正解决你的问题,但确实回答了问题)。

这可能会解决您的问题。

program &

只要节目结束一段时间。

相关内容