Điểm:0

jcmd hoạt động trong bảng điều khiển nhưng không thành công trong tập lệnh

lá cờ in

Tôi đang phát điên với một nhiệm vụ đơn giản: một tiến trình java đang chạy, hết bộ nhớ và một tập lệnh chạy.

SELinux là Vô hiệu hóa.

trong setenv.sh :

-XX:OnOutOfMemoryError='/opt/alfresco/scripts/dumpNrestart.sh > /tmp/dumpNrestart.log 2>&1'

%alfresco TẤT CẢ= NOPASSWD: /opt/alfresco/java/bin/jcmd

#!/bin/sh -x
PIDDE=$(mèo /opt/alfresco/tomcat/temp/catalina.pid)
/bin/rm -f /tmp/"$PIDDE".hprof
/bin/sudo /bin/id
/bin/sudo /opt/alfresco/java/bin/jcmd "$PIDDE" GC.heap_dump /tmp/"$PIDDE".hprof
/opt/alfresco/tomcat/bin/shutdown.sh -force

++ mèo /opt/alfresco/tomcat/temp/catalina.pid
+ PIDDE=11451
+ /bin/rm -f /tmp/11451.hprof
+ /opt/alfresco/java/bin/jcmd 11451 GC.heap_dump /tmp/11451.hprof
11451:
com.sun.tools.attach.AttachNotSupportedException: Không thể mở tệp ổ cắm /proc/11451/root/tmp/.java_pid11451: quá trình đích 11451 không phản hồi trong vòng 10500ms hoặc HotSpot VM không được tải
        tại jdk.attach/sun.tools.attach.VirtualMachineImpl.<init>(VirtualMachineImpl.java:100)
        tại jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58)
        tại jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207)
        tại jdk.jcmd/sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:114)
        tại jdk.jcmd/sun.tools.jcmd.JCmd.main(JCmd.java:98)
+ /opt/alfresco/tomcat/bin/shutdown.sh -lực lượng

Tôi đoán đó là vấn đề về quyền/đặc quyền nhưng với sudo Tôi nghĩ rằng tôi đã xong... nhưng tôi không như chúng ta thấy.

Bất kỳ ý tưởng, một cái gì đó tôi có thể thử?

Cảm ơn thời gian của bạn đọc này!

Michael Hampton avatar
lá cờ cz
Tại sao bạn nghĩ rằng có một vấn đề cho phép? Thông báo lỗi cho biết: `quá trình đích 11451 không phản hồi trong vòng 10500 mili giây hoặc máy ảo HotSpot không được tải`.
lá cờ in
Xin chào Micheal, có điều gì đó (tôi đang thiếu điều gì đó, có thể không phải quyền) về cách jcmd được gọi: chạy tập lệnh từ bash luôn hoạt động nhưng nếu được gọi từ JVM thì không. Tôi không nghĩ đó là sự cố hết thời gian chờ thực sự "10500ms" bởi vì từ bảng điều khiển, quá trình kết xuất thậm chí không mất 5'' để được tạo và nó luôn được tạo.
Điểm:1
lá cờ fr

Hãy thử sử dụng & . Điều này sẽ làm cho tập lệnh chạy trong nền. Và nó sẽ có quyền truy cập.

-XX:OnOutOfMemoryError='sh /opt/alfresco/scripts/dumpNrestart.sh &'

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.