Re: Removing the ‘:terminateOfbiz’ Gradle task
+1 This is currently also used by the demos because "ofbiz --shutdown" does not work with multiple instances https://svn.apache.org/repos/asf/ofbiz/tools/demo-backup/trunk.sh Of course resolving "ofbiz --shutdown" issue would be better. But I guess few people use multiple instances in production on the same server. Jacques Le 17/03/2019 à 22:39, Taher Alkhateeb a écrit : I think I might prefer to keep it. Perhaps adjusting the ps command might better solve the issue. I use this feature regularly myself. On Sun, Mar 17, 2019, 11:59 PM Mathieu Lirzin wrote: Hello, The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew ofbiz --shutdown’ doesn't work. Unfortunately this task is not working on my GNU/linux system because the output of ‘ps ax’ cuts long lines. As a consequence Gradle is not able to grep "org.apache.ofbiz.base.start.Start" even if it is actually part of the process command line as seen by the operating system. As a reminder, here is the implementation of that task: task terminateOfbiz(group: ofbizServer, description: 'Force termination of any running OFBiz servers, only use if \"--shutdown\" command fails') { doLast { if (os.contains('windows')) { Runtime.getRuntime().exec("wmic process where \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call Terminate") } else { def processOutput = new ByteArrayOutputStream() exec { commandLine 'ps', 'ax' standardOutput = processOutput } processOutput.toString().split(System.lineSeparator()).each { line -> if (line ==~ /.*org\.apache\.ofbiz\.base\.start\.Start.*/) { exec { commandLine 'kill', '-9', line.tokenize().first() } } } } } } While it might be considered a bug at first hand, I personnally think this failure is more a symptom of a desperate endeavour which is to guess how the system of a user is managing its processes. As a consequence I will suggest to simply remove this task to not make false promises to users and let them manage the processes on their system by themselves. :-) What do people think? -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37
Re: Removing the ‘:terminateOfbiz’ Gradle task
I think I might prefer to keep it. Perhaps adjusting the ps command might better solve the issue. I use this feature regularly myself. On Sun, Mar 17, 2019, 11:59 PM Mathieu Lirzin wrote: > Hello, > > The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew > ofbiz --shutdown’ doesn't work. Unfortunately this task is not working > on my GNU/linux system because the output of ‘ps ax’ cuts long lines. > As a consequence Gradle is not able to grep > "org.apache.ofbiz.base.start.Start" even if it is actually part of the > process command line as seen by the operating system. As a reminder, > here is the implementation of that task: > > task terminateOfbiz(group: ofbizServer, > description: 'Force termination of any running OFBiz servers, only > use if \"--shutdown\" command fails') { > doLast { > if (os.contains('windows')) { > Runtime.getRuntime().exec("wmic process where > \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call > Terminate") > } else { > def processOutput = new ByteArrayOutputStream() > exec { > commandLine 'ps', 'ax' > standardOutput = processOutput > } > > processOutput.toString().split(System.lineSeparator()).each { line -> > if (line ==~ > /.*org\.apache\.ofbiz\.base\.start\.Start.*/) { > exec { commandLine 'kill', '-9', > line.tokenize().first() } > } > } > } > } > } > > While it might be considered a bug at first hand, I personnally think > this failure is more a symptom of a desperate endeavour which is to > guess how the system of a user is managing its processes. As a > consequence I will suggest to simply remove this task to not make false > promises to users and let them manage the processes on their system by > themselves. :-) > > What do people think? > > -- > Mathieu Lirzin > GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37 >
Removing the ‘:terminateOfbiz’ Gradle task
Hello, The ‘:terminateOfbiz’ Gradle task is meant to be run when ‘./gradlew ofbiz --shutdown’ doesn't work. Unfortunately this task is not working on my GNU/linux system because the output of ‘ps ax’ cuts long lines. As a consequence Gradle is not able to grep "org.apache.ofbiz.base.start.Start" even if it is actually part of the process command line as seen by the operating system. As a reminder, here is the implementation of that task: task terminateOfbiz(group: ofbizServer, description: 'Force termination of any running OFBiz servers, only use if \"--shutdown\" command fails') { doLast { if (os.contains('windows')) { Runtime.getRuntime().exec("wmic process where \"CommandLine Like \'%org.apache.ofbiz.base.start.Start%\'\" Call Terminate") } else { def processOutput = new ByteArrayOutputStream() exec { commandLine 'ps', 'ax' standardOutput = processOutput } processOutput.toString().split(System.lineSeparator()).each { line -> if (line ==~ /.*org\.apache\.ofbiz\.base\.start\.Start.*/) { exec { commandLine 'kill', '-9', line.tokenize().first() } } } } } } While it might be considered a bug at first hand, I personnally think this failure is more a symptom of a desperate endeavour which is to guess how the system of a user is managing its processes. As a consequence I will suggest to simply remove this task to not make false promises to users and let them manage the processes on their system by themselves. :-) What do people think? -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37