cuốn sách gpt4 ai đã làm

JSTAT trong tập lệnh Unix không hoạt động bình thường

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 10:53:08 27 4
mua khóa gpt4 Nike

Trong khi viết một tập lệnh Unix, tôi không hiểu tại sao tập lệnh lại bị lỗi.

Kịch bản diễn ra như thế này...

jvmpid=$(pidofjava)
./jstat -gc $jvmpid

Khi tôi chạy tập lệnh, nó báo lỗi:

Mã định danh VM không đúng định dạng: 3492 Cách sử dụng: jstat -help|-options jstat - [-t] [-h] [ []]

Định nghĩa: Một tùy chọn được báo cáo bởi tùy chọn -options Mã định danh máy ảo. Một vmid có dạng sau: [@[:]] Mã định danh vm cục bộ cho máy ảo Java đích ở đâu, thường là id tiến trình; máy chủ đang chạy máy ảo Java đích; và là số cổng cho rmiregistry trên máy chủ đích. Hãy xem tài liệu jvmstat để biết mô tả đầy đủ hơn về Số nhận dạng máy ảo giữa các dòng tiêu đề.
Khoảng thời gian lấy mẫu được phép sử dụng các dạng sau: ["ms"|"s"] Trong đó là số nguyên và hậu tố chỉ định đơn vị là mili giây("ms") hoặc giây("s"). . Số lượng mẫu cần lấy trước khi kết thúc -J Chuyển trực tiếp vào hệ thống thời gian chạy.

Tuy nhiên, nếu tôi thực thi trực tiếp từng dòng của tập lệnh trong shell thì mỗi dòng sẽ hoạt động tốt.

Có manh mối nào không? Tôi đã tìm kiếm trực tuyến để được giúp đỡ.

câu trả lời hay nhất

Tôi đã có cùng một vấn đề và tôi đã giải quyết nó. Vấn đề có vẻ là biến jvmpid không có '3492' mà là '3492CRLF', do đó jstat không hiểu chính xác. Tôi đã viết một tập lệnh bash sử dụng printf để định dạng chính xác các biến dưới dạng số thập phân. printf sẽ báo lỗi khi thực hiện việc này, nhưng nó sẽ thực hiện được công việc.

JAVAPID=$(pidofjava)
#Chuyển đổi pid thành số thập phân hợp lệ vì đầu ra của pidof có một số ký tự thoát. Ngoài ra, hãy tránh in lỗi printf.
JAVAPID1=$(printf "%d" $JAVAPID 2> error.txt)
#Xóa tệp lỗi do printf tạo ra. Đã xảy ra lỗi nhưng vẫn thực hiện được.
rm -f error.txt
#Thực hiện lệnh
jstat -gc $JavaAPID1

Như bạn có thể thấy, tôi không phải là chuyên gia viết kịch bản bash, vì vậy việc này có thể được thực hiện theo cách rõ ràng hơn, nhưng đây là cách tốt nhất mà tôi đã tìm thấy. Hy vọng điều này sẽ giúp.

Về JSTAT trong java - Tập lệnh Unix không hoạt động bình thường, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29955057/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress