+ Reply to Thread
Results 1 to 4 of 4

Thread: Problem passing * as part of an Symexec command

  1. #1
    ComputerGuy's Avatar
    ComputerGuy is offline Junior Member
    Join Date
    April 24th, 2008
    Posts
    22
    Downloads
    2
    Uploads
    0

    Default Problem passing * as part of an Symexec command

    Due to programming bugs, a ton of core files were generated under the work directory on my compute host.

    Seeing how Symexec can execute commands on remote hosts, I tried to do a quick "remote delete".

    But the command returned error:

    comg@springfield-47: symexec run "/bin/rm /install/symphonyDE/work/core.*"
    Successfully created a new session. Session ID: <206>.
    -----------------------------------------------------------
    Task ID: 1
    Error Type: SoamException
    Error Code: 32078
    Error Message: Domain <Application>: Application <symexec4.0>. Task <1> in session <206> failed. <Method name="Invoke"> is configured to fail on success with control code <2> in the application profile: <Return ...> element set to actionOnWorkload=fail.


    I guess problem was caused by the "*" character, because it works fine without it:

    comg@springfield-48: symexec run "/bin/rm /install/symphonyDE/work/core.14332"
    Successfully created a new session. Session ID: <207>.
    -----------------------------------------------------------
    Task ID: 1
    Exit Code: 0
    SUCCESS


    Any ideas?

  2. #2
    Zheng is offline Junior Member
    Join Date
    April 25th, 2008
    Posts
    1
    Downloads
    0
    Uploads
    0

    Smile execute your command in a shell

    the commond you submitted to symexec is directly executed through OS API exec() rather than a shell

    * is a shell function: when you type "rm *" in a shell, which supports wildcard, it's the shell replaces * to file list

    If you need this function, you can run your rm under a shell:
    symexec run "/bin/sh -c '/bin/rm /install/symphonyDE/work/core.*'"

  3. #3
    lechen's Avatar
    lechen is offline Junior Member
    Join Date
    March 12th, 2008
    Location
    Toronto, Ontario
    Posts
    71
    Blog Entries
    1
    Downloads
    8
    Uploads
    0

    Default

    Quote Originally Posted by Zheng View Post
    the commond you submitted to symexec is directly executed through OS API exec() rather than a shell

    * is a shell function: when you type "rm *" in a shell, which supports wildcard, it's the shell replaces * to file list

    If you need this function, you can run your rm under a shell:
    symexec run "/bin/sh -c '/bin/rm /install/symphonyDE/work/core.*'"
    Good answer Zheng.

    Another solution would be to deploy a "maintenance" script onto the compute host and just have Symexec execute the script.

  4. #4
    ComputerGuy's Avatar
    ComputerGuy is offline Junior Member
    Join Date
    April 24th, 2008
    Posts
    22
    Downloads
    2
    Uploads
    0

    Default

    Thanks Guys~ Works now

    comg@springfield-61: symexec run "/bin/sh -c '/bin/rm /install/symphonyDE/work/core.*'"
    Successfully created a new session. Session ID: <209>.
    -----------------------------------------------------------
    Task ID: 1
    Exit Code: 0
    SUCCESS

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts