Hướng dẫn run python script in background ec2 - chạy tập lệnh python trong nền ec2

Tôi đã thiết lập một máy chủ Amazon EC2. Tôi có một tập lệnh Python được cho là để tải xuống một lượng lớn dữ liệu từ web lên máy chủ. Tôi có thể chạy tập lệnh từ thiết bị đầu cuối đến ssh, tuy nhiên tôi thường mất kết nối ssh. Khi tôi mất kết nối, tập lệnh dừng lại.

Có phương pháp nào mà tôi nói với tập lệnh chạy từ thiết bị đầu cuối và khi tôi ngắt kết nối, tập lệnh vẫn đang chạy trên máy chủ không?

TMC

17.2k11 Huy hiệu vàng60 Huy hiệu bạc97 Huy hiệu đồng11 gold badges60 silver badges97 bronze badges

Đã hỏi ngày 3 tháng 6 năm 2011 lúc 20:53Jun 3, 2011 at 20:53

Bạn có một vài lựa chọn.

  • Bạn có thể thêm tập lệnh của mình vào cron để được chạy thường xuyên.
  • Bạn có thể chạy tập lệnh của mình theo cách thủ công và tách+nền nó bằng
    sudo yum install python36
    0.
  • Bạn có thể chạy một công cụ như màn hình GNU và tách thiết bị đầu cuối của bạn và đăng xuất, chỉ để tiếp tục nơi bạn rời đi sau. Tôi sử dụng điều này rất nhiều.
    • Ví dụ:
      1. Đăng nhập vào máy của bạn, chạy:
        sudo yum install python36
        1.
      2. Bắt đầu tập lệnh của bạn và chỉ cần đóng thiết bị đầu cuối của bạn hoặc tách đúng phiên của bạn với: Ctrl+A, D, D.
      3. Ngắt kết nối khỏi thiết bị đầu cuối của bạn.
      4. Kết nối lại vào một số thời gian sau và chạy
        sudo yum install python36
        2. Bạn sẽ thấy công cụ của bạn giống như bạn để nó.
  • Bạn cũng có thể thêm tập lệnh của mình vào
    sudo yum install python36
    3 để được gọi trên sổ sách và luôn luôn chạy.

Đã trả lời ngày 3 tháng 6 năm 2011 lúc 20:56Jun 3, 2011 at 20:56

yanyanyan

20.4K3 Huy hiệu vàng37 Huy hiệu bạc48 Huy hiệu đồng3 gold badges37 silver badges48 bronze badges

1

Bạn cũng có thể sử dụng

sudo yum install python36
0 để làm cho tập lệnh của bạn chạy trong nền hoặc khi bạn đã ngắt kết nối với phiên của mình:

sudo yum install python36
5

sudo yum install python36
6 ở cuối lệnh nói rõ ràng
sudo yum install python36
0 để chạy tập lệnh của bạn trong nền.

Marco Bonelli

59.3K20 Huy hiệu vàng114 Huy hiệu bạc119 Huy hiệu đồng20 gold badges114 silver badges119 bronze badges

Đã trả lời ngày 6 tháng 6 năm 2011 lúc 17:22Jun 6, 2011 at 17:22

Jay Sidrijay SidriJay Sidri

6.1733 huy hiệu vàng42 Huy hiệu bạc60 Huy hiệu đồng3 gold badges42 silver badges60 bronze badges

Nếu nó chỉ là một tiện ích mà bạn chạy ad-hoc, không phải là một dịch vụ nào đó, tôi sẽ chỉ chạy nó trong

sudo yum install python36
1. Hơn bạn có thể ngắt kết nối nếu bạn muốn và mở Terminal sao lưu sau ... hoặc kết nối lại thiết bị đầu cuối nếu bạn bị ngắt kết nối. Nó nên nằm trong trình quản lý gói phân phối Linux của bạn. Chỉ cần tìm kiếm
sudo yum install python36
1

//www.gnu.org/software/screen/

Đã trả lời ngày 3 tháng 6 năm 2011 lúc 20:56Jun 3, 2011 at 20:56

yanyantMC

17.2k11 Huy hiệu vàng60 Huy hiệu bạc97 Huy hiệu đồng11 gold badges60 silver badges97 bronze badges

0

Vì vậy, bạn có một phiên bản EC2 lên và chạy trên AWS [nếu bạn chưa có, hãy xem bài đăng này: //medium.com/@praneeth.jm/launching-and-connecting-to-an -AWS-EC2-INSTANCE-6678F660BBE6].

Bây giờ, hãy để xem cách chúng ta có thể thiết lập môi trường Python, chuyển các tập lệnh Python từ máy cục bộ của bạn sang thể hiện từ xa và chạy chúng.

Ví dụ AWS EC2 trên Putty

Để xem tất cả mọi thứ mà đã cài đặt trong trường hợp của bạn, hãy nhập các lệnh sau:

cd /usr/bin/
ls
  1. Bạn có thể sẽ thấy Python 2.7 đã được cài đặt, đó là phiên bản cũ hơn, vì vậy hãy để tiếp tục và cài đặt Python 3.6 install python 3.6
sudo yum install python36

Ngay cả sau khi cài đặt Python 3.6, chạy

alternatives --set python /usr/bin/python3.6python --version
0 trong thiết bị đầu cuối Putty vẫn chỉ vào Python 2.7, hãy để thay đổi điều đó.

alternatives --set python /usr/bin/python3.6python --version

Những gì chúng tôi đã làm ở đó, thay đổi python mặc định thành phiên bản mới hơn, giờ đây nó sẽ chỉ vào Python 3.6.change the default python to the newer version, it should now point to python 3.6.

2. Tiếp theo chúng tôi muốn cài đặt PIP3 mà chúng tôi sẽ sử dụng để cài đặt các gói Python.install pip3 that we will use to install python packages.

cd /tmp
curl -O //bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
pip3 --version

Bây giờ chúng ta có thể sử dụng PIP3 để cài đặt các gói Python. Nếu bạn muốn cài đặt gói Selenium, hãy chạy các phần sau trong thiết bị đầu cuối Putty của bạn.

pip3 install selenium --user

Hãy để chuyển một tập lệnh Python từ máy cục bộ của chúng tôi vào thể hiện EC2 và thử chạy nó.

  1. Trước tiên, hãy mở một thiết bị đầu cuối Windows trên máy của bạn bằng CMD.open up a windows terminal on your machine using cmd.
  2. Sử dụng SCP [Giao thức sao chép bảo mật] để chuyển các tệp giữa cục bộ và máy chủ từ xa. Lệnh SCP có ba đối số, đối số đầu tiên là đường dẫn tệp đến tệp khóa riêng. Đường dẫn đến vị trí trên trường hợp bạn muốn sao chép nó. The scp command has three arguments, the first argument is the file path to the private key “.pem” file, the second argument is the path to the location of the file you want to copy from your machine, and the third argument is the path to the location on the instance where you want to copy it.
scp -i path/to/.pem_file path/to/file   :/path_to_copy

alternatives --set python /usr/bin/python3.6python --version
1 trong mã trên không là gì ngoài tên miền của thể hiện mà bạn có thể tìm thấy trên trang thể hiện của View View trên trang AWS.

Ví dụ: tôi có tệp khóa riêng của mình. ví dụ.

scp -i D:/ec2/test.pem D:/ec2/test.py :/home/ec2-user

Hãy chắc chắn rằng bạn chạy cái này trong một thiết bị đầu cuối dòng lệnh Windows chứ không phải thiết bị đầu cuối putty,. Lưu ý: Nếu bạn gặp lỗi khi nói rằng quyền từ chối của người dùng hoặc các quyền quá mở, thì chúng ta cần thay đổi quyền cho tệp khóa riêng của .PEM.Note: If you get an error saying “ Permission denied” or “Permissions are too open”, then we need to change the permissions for the “.pem” private key file such that only the owner has access to it.

3. Nhấp chuột phải vào tệp .PEM. Điều này sẽ làm rõ tất cả các mục cho phép.

4. Bây giờ bạn cần thêm quyền cho chủ sở hữu, vì vậy hãy ghi chú tên người dùng hiển thị với tư cách là chủ sở hữu trên màn hình. Sau đó, nhấp vào Thêm Thêm vào đó Bây giờ tên chủ sở hữu sẽ xuất hiện trong hộp đó> Nhấp OK> Kiểm tra toàn bộ điều khiểnadd permissions for the owner, So make a note of the username that shows up as owner on the screen. Then Click “Add” > Click on “Select a principal” > Type in the owner name into the text box that says “Enter the object name to select” > Click on “Check Names”. Now the Owner name should appear in that box > Click OK > Check “Full Control” > Click OK

5. Chạy lại lệnh SCP ngay bây giờ và bạn sẽ thấy các tệp của mình được chuyển sang thể hiện EC2.Run the scp command again now and you should see your files transferred to the EC2 instance.

Bây giờ kết nối với thể hiện EC2 trong putty và gõ vào

alternatives --set python /usr/bin/python3.6python --version
2, điều này cung cấp cho bạn danh sách tất cả các tệp trong thư mục làm việc hiện tại, bây giờ bạn sẽ xem tệp Test Test.py, đó là tập lệnh Python để in ra Hello Hello World. Chạy tập lệnh đó bằng
alternatives --set python /usr/bin/python3.6python --version
3 và bạn sẽ thấy đầu ra.connect to the EC2 instance in Putty and type in
alternatives --set python /usr/bin/python3.6python --version
2 , this gives you the list of all files in the current working directory, you should now see the “test.py” file which is a python script to print “Hello World”. Run that script using
alternatives --set python /usr/bin/python3.6python --version
3 and you should see the output.

Nếu bạn muốn mở tệp Python, hãy xem nội dung của nó và thực hiện các thay đổi cho nó, bạn có thể sử dụng các lệnh Linux sau trong thiết bị đầu cuối Putty.

alternatives --set python /usr/bin/python3.6python --version
4 mở ra tập lệnh Python để xem. Nếu bạn muốn chỉnh sửa tệp nhấn
alternatives --set python /usr/bin/python3.6python --version
5 thì hãy chỉnh sửa tệp bằng bàn phím của mình, sau khi bạn thực hiện hoàn thành các thay đổi, hãy nhấn phím Escape sau đó nhập
alternatives --set python /usr/bin/python3.6python --version
6 và nhấn phím Enter, để ghi các thay đổi vào tệp và thoát.

Bạn cũng có thể thiết lập một công việc cron để tự động chạy các tập lệnh Python theo một khoảng thời gian hoặc thời gian được chỉ định trong phiên bản EC2 của bạn. Để làm điều này:cron job to automatically run python scripts at a specified interval or time in your ec2 instance. To do this:

  1. Bắt đầu dịch vụ cron
    alternatives --set python /usr/bin/python3.6python --version
    
    7
    alternatives --set python /usr/bin/python3.6python --version
    
    7
  2. Chỉnh sửa tệp crontab bằng
    alternatives --set python /usr/bin/python3.6python --version
    
    8
    using
    alternatives --set python /usr/bin/python3.6python --version
    
    8
  3. Thêm đường dẫn tệp của tệp bạn muốn chạy. Nhấn phím I I I để bắt đầu chỉnh sửa tệp và sau đó thêm
    alternatives --set python /usr/bin/python3.6python --version
    
    9. Hãy chắc chắn rằng bạn đưa ra đường dẫn đầy đủ đến kịch bản Python mà bạn muốn chạy.
    of the file you want to run. Hit the “i” key to start editing the file and then add
    alternatives --set python /usr/bin/python3.6python --version
    
    9 . Make sure you give the full path to the python script that you want to run.

Chuỗi thời gian cron là năm giá trị được phân tách bởi các khoảng trống mỗi chỉ định phút [0 Ném59], giờ [0 Ném23], ngày của tháng [1 Ném31], tháng [1 Ném12] và ngày trong tuần [0 Cả 7, 0 và 7 đều đại diện cho Chủ nhật].

Nếu bạn nối một dấu gạch chéo [ /] và số nguyên vào ký tự đại diện ở bất kỳ vị trí ký tự nào, bạn có thể định cấu hình tác vụ cron để chạy theo một khoảng thời gian đều đặn.

Nếu bạn muốn thực hiện một số loại bỏ web bằng selenium và crômedriver, hãy xem bài đăng tiếp theo của tôi: //medium.com/@praneeth.jm/ricky-plromedriver-and-selenium-in-python-on-an-aws- EC2-instance-2FB4AD633BB5

Làm cách nào để chạy tập lệnh Python trong nền?

Cách dễ nhất để chạy tập lệnh Python để chạy trong nền là sử dụng tính năng Cronjob [trong MacOS và Linux].Trong Windows, chúng ta có thể sử dụng Trình lập lịch tác vụ Windows.Sau đó, bạn có thể đưa ra đường dẫn của tệp tập lệnh Python của bạn để chạy vào một thời điểm cụ thể bằng cách đưa ra các chi tiết thời gian.use cronjob feature [in macOS and Linux]. In windows, we can use Windows Task Scheduler. You can then give the path of your python script file to run at a specific time by giving the time particulars.

Làm cách nào để chạy kịch bản Python trong nền SSH?

Chạy bằng Nohup hoặc &.
Giữ ID quy trình nếu nó trả về ..
Kiểm tra ID quy trình nếu nó không trả lại với PS AUX |grep.
Nếu muốn dừng quá trình chạy thủ công giết & hoặc giết -9 cho nohup ..

Làm cách nào để chạy kịch bản Python trong AWS?

Chạy tập lệnh Python từ GitHub [Bảng điều khiển] Mở bảng điều khiển AWS Systems Manager tại //console.aws.amazon.com/systems-manager/.Trong khung điều hướng, chọn lệnh chạy.Nếu trang chủ Trình quản lý AWS Systems mở đầu tiên, hãy chọn biểu tượng menu [] để mở ngăn điều hướng, sau đó chọn lệnh chạy.Open the AWS Systems Manager console at //console.aws.amazon.com/systems-manager/ . In the navigation pane, choose Run Command. If the AWS Systems Manager home page opens first, choose the menu icon [ ] to open the navigation pane, and then choose Run Command.

Bài Viết Liên Quan

Chủ Đề