我在 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 &
只要节目结束一段时间。