Android R系统下通过ADB杀死Camera进程执行命令报错求助
问题修复方案
报错原因
你收到的报错如下:
/system/bin/sh: kill: ps: arguments must be jobs or process IDs
/system/bin/sh: kill: -A: arguments must be jobs or process IDs
核心原因是原命令语法逻辑错误:shell解析命令时会优先执行kill指令,把后续的ps、-A都当成了kill的进程ID参数,而非先执行进程查询逻辑获取Camera的PID,管道逻辑完全没有按照预期生效。
修复后的可用命令
有两种可选实现方式:
方式1:命令替换写法(兼容原有逻辑)
把进程查询逻辑用命令替换符包裹,确保先拿到Camera的PID再传给kill执行:
kill -HUP $(ps -A | grep camera | awk '{print $2}')
方式2:pkill简化写法(更简洁,Android R自带toybox支持)
直接使用pkill指令按进程名匹配杀进程,无需手动拼接PID:
pkill -HUP camera
注意事项
- 如果执行提示权限不足,说明当前ADB shell无root权限,需要设备解锁root后在命令前加
su -c调用,例如:su -c "pkill -HUP camera" - 如果需要强制杀死进程,可以把
-HUP参数替换为-9。
内容的提问来源于stack exchange,提问作者Teguh Bayu Pratama
相关产品推荐
相关产品推荐

