vbot
vbot copied to clipboard
请教一些问题
1 有木有提供杀死进程的方法,目前用同一个session 执行两次我看后台进程并不会杀死之前的进程 ,只能通过sh脚本控制么 2 如果要用swoole api 的话能否用同一个端口 根据session 区分 哪个用户 ,可以通过修改哪些文件实现这个功能呢
杀死进程可以使用 posix_kill
函数发送信号给进程来达到目的。
大概这么用:
posix_kill($pid,$sig);
获取当前进程 pid
可以用 posix_getpid()
。
更多 进程操作函数可以搜索 posix php
自行挖掘。
1、vbot本身并没有检查是否有另一进程使用同一个session运行的功能,你需要自己判断,杀死进程可以参考上面的方法。
2、第二个问题我之前也想过,目前还没有相出很好的实现方案,不过按理说应该可以实现,这问题等 HanSon
大佬来解答吧。
第一个问题 我修改了下运行脚本 ,用laravel command 写的,最后一步执行的脚本有些不一样,但是原理差不多 代码如下
#!/bin/bash
if [ -f /root/.bash_profile ];
then
source /root/.bash_profile
fi
#session参数
session=$1
#目录位置
curdir=$(cd `dirname $0`; pwd)
# php位置
#phpbin=/usr/local/php7.0.14/bin/php
phpbin=/Applications/XAMPP/bin/php-7.0.13
cd $curdir
NAME="app:ini_webot --session=${session}"
ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
${phpbin} artisan $NAME >> ${curdir}/storage/logs/${session}.log &
@第二个问题貌似没找到更好的解决办法,感觉只能通过自动分配端口并记录的方式去做了,不知道
@HanSon 大佬有什么更好的建议么
这个最好解决方法就是从 vbot的底层代码修改,这个暂时没这么快
@HanSon 除了端口问题,可能还会碰到其他问题么,端口问题通过自动分配端口也可以解决的,应该不同端口的话相互就互不影响了吧 还有observe 里边的group.json 是做什么用的呀,这个好像也没区分不同session
group.json 只是个例子告诉你们可以这样用
如果在多用户场景,一个用户一个端口不太现实
请问如何给指定的微信群推送消息?