当我运行我的颤振应用程序,它显示

等待另一个颤振命令释放启动锁

此消息并不能继续。


当前回答

对我来说,问题的根本原因是我的Mac设备上出现了一个它没有预料到的flock二进制版本。把它从小路上移开就成功了;可能是BSD和GNU的语法问题。

其他回答

大多数人说killall -9镖,但没有人提到pkill -f镖,这对我来说很有效。

这里解释了两者之间的区别。

退出IDE,然后从启动管理器停止所有dart相关文件(如果有的话)。 然后转到 “颤振目录“/ bin /缓存/ lockfile 然后删除这个锁文件

您可以尝试终止所有颤振进程。

TL;DR -转到第4点)

1)流程清单:

ps aux

2)包含颤振的搜索名称:

ps aux | grep flutter

其中输出可以如下所示:

stackoverflow     16697   1.5  0.0  4288316    704   ??  S    10:02PM   0:15.80 bash /flutter_path/flutter/bin/flutter --no-color build apk
stackoverflow      2800   1.5  0.0  4288316    704   ??  S     9:59PM   0:18.49 bash /flutter_path/flutter/bin/flutter --no-color pub get
stackoverflow      1215   1.5  0.0  4280124    700   ??  S     9:58PM   0:18.89 bash /flutter_path/flutter/bin/flutter --no-color config --machine
stackoverflow      8449   1.5  0.0  4296508    716   ??  S    10:00PM   0:17.20 bash /flutter_path/flutter/bin/flutter --no-color pub get
stackoverflow      1326   1.4  0.0  4288316    708   ??  S     9:58PM   0:18.97 bash /flutter_path/flutter/bin/flutter daemon
stackoverflow     16687   0.0  0.0  4279100    820   ??  S    10:02PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color build apk
stackoverflow      8431   0.0  0.0  4288316    804   ??  S    10:00PM   0:00.02 bash /flutter_path/flutter/bin/flutter --no-color pub get
stackoverflow      2784   0.0  0.0  4288316    704   ??  S     9:59PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color pub get
stackoverflow      1305   0.0  0.0  4280124    712   ??  S     9:58PM   0:00.01 bash /flutter_path/flutter/bin/flutter daemon
stackoverflow      1205   0.0  0.0  4279100    788   ??  S     9:58PM   0:00.01 bash /flutter_path/flutter/bin/flutter --no-color config --machine
stackoverflow     11416   0.0  0.0  4268176    536 s000  R+   10:18PM   0:00.00 grep --color flutter

3)获取进程ID

我们需要从第二列的内容(从上面的输出):

ps aux | grep flutter | awk '{print $2}'

4 a)“自动”杀死:

列出,搜索和杀死所有你可以使用的人

kill $(ps aux | grep flutter | grep -v grep  | awk '{print $2}')

(你也可以用sudo运行它)

or

ps aux | grep flutter | grep -v grep | awk '{print $2}' | xargs kill -15

4 b)手动杀死

您可以使用以下命令逐个杀死进程:

sudo kill -15 <process_ID>

例如,关闭id为13245的进程:

sudo kill -15 13245

如果-15不行,可以尝试-2或-1。

最后一个选项是-9,不应该使用它,因为它会阻止进程执行任何清理工作。

我已经尝试了下面所有的步骤,但没有一个有效。

删除lockfile; Run killall -9镖; 重启我的电脑。

下面是最后一个对我有用的命令

rm -rf <flutter_dir>bin/cache/.upgrade_lock

在我的例子中,Terminal中的以下命令有帮助(正如Günter Zöchbauer的评论所建议的那样):

killall -9 dart

在Windows上,在命令提示符或PowerShell窗口中运行以下命令(由uppupming的注释建议):

taskkill /F /IM dart.exe

(你可以在这里阅读Windows中的taskkill标志)