我在aws datapipeline发布的amazon linux服务器(amid-ami-0a887e401f7654935
)上使用这个shell命令。
#!/bin/bash
sudo yum install -y amazon-linux-extras
sudo amazon-linux-extras enable python3.8
sudo yum install -y python3.8
pip3.8 install --user pipenv
echo "PATH=$HOME/.local/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
aws s3 cp s3://bucketname/datapipeline/scriptfolder/ /home/ec2-user/ --recursive
mkdir -p /home/ec2-user/input
cd /home/ec2-user/
pipenv install --ignore-pipfile
echo "installation done"
pipenv run python3 main.py
每次我运行几分钟后得到以下错误。
errorMsg : Memory : 46 M RSS (262 MB VSZ)
Started: Tue Mar 16 01:47:44 2021 - 00:01 ago
State : Running, pid: 3746
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 139 M RSS (430 MB VSZ)
Started: Tue Mar 16 01:47:44 2021 - 00:03 ago
State : Running, pid: 3746
我试着在最后一个echo命令后添加这个rm -f /var/run/yum.pid
,但是它给了我同样的错误。你能帮忙吗?
3条答案
按热度按时间cczfrluj1#
获取yum的运行PID,如果该PID正在运行,则删除该PID;
辅助|格里普·亚姆
然后
关闭-9PID
cbeh67ev2#
我纠结于这个问题:
我甚至在我的用户数据中添加了调试:
通过该输出,我发现A〉没有/var/run/yum.pid文件,B〉在ps -ef的输出中没有pid 3114,本质上是一个幻像pid。
通过大量的试验和错误,我最终在我的用户数据中做了一个改变,完全解决了这个问题。我把/bin/bash改为/bin/sh。突然之间,一切都开始正常工作了。
wnvonmuf3#
在yum call的末尾使用&&,因此您的could应该是
我不知道为什么,但应该可以了。