On Tue, Feb 19, 2019 at 11:37:38AM +0100, Albrecht Baur via Pharo-users wrote:
From: Albrecht Baur <baur.albrecht@googlemail.com> Subject: OSProcess / OSSubprocess / LibC uniqueInstance To: pharo-users@lists.pharo.org Date: Tue, 19 Feb 2019 11:37:38 +0100
I need to execute OS commands from within a x64 pharo 7.01 image on centos7 (for example: 'zip -r 123.zip zipme/').
I found these 3 tools: OSProcess, OSSubprocess, LibC uniqueInstance
But I did not find any docu on which one to use for which use case.
* OSProcess is in the catalog browser but fails loading because of ByteArray>>ifNotNilDo: -> So OSProcess is not to be used with p7 ?
Hi Albrecht, I am sorry that I cannot check it right now, but it may be that ConfigurationOfOSProcess needs to be updated. The #ifNotNilDo: problem was fixed by Thierry Goubier in July 2017, so perhaps you are using an out of date version. Hopefully someone else can give you a better answer, otherwise I will try to follow up in a day or two. Dave
* OSSubprocess loads via catalog browser and the following snippet works (even though 64 bit):
OSSUnixSubprocess new ?????? command: 'zip'; ?????? arguments: #('-r' '123.zip' 'zipme'); ?????? redirectStdout; ?????? runAndWaitOnExitDo: [ :process :outString?? | ?????? ?????? outString inspect ?????? ]
So is it ok to use OSSubprocess with 64 bit even though documented as 32 bit only ? (here: https://github.com/pharo-contributions/OSSubprocess#installation)
* LibC uniqueInstance system: 'zip -r 123.zip zipme/' ... works, but I don't know if its the right tool for this.
Is there somewhere more info on which tool to use for which use case ?
Thanks in advance!
Albrecht
PS.: I need to use zip as os process only because of this issue: https://github.com/pharo-project/pharo/issues/2584