diff options
Diffstat (limited to 'buildscripts/cleanbb.py')
| -rw-r--r-- | buildscripts/cleanbb.py | 43 | 
1 files changed, 43 insertions, 0 deletions
| diff --git a/buildscripts/cleanbb.py b/buildscripts/cleanbb.py new file mode 100644 index 0000000..68a8012 --- /dev/null +++ b/buildscripts/cleanbb.py @@ -0,0 +1,43 @@ + +import sys +import os +import utils +import time + +def killprocs( signal="" ): +    cwd = os.getcwd(); +    if cwd.find("buildscripts" ) > 0 : +        cwd = cwd.partition( "buildscripts" )[0] + +    killed = 0 +         +    for x in utils.getprocesslist(): +        x = x.lstrip() +        if x.find( cwd ) < 0: +            continue +         +        pid = x.partition( " " )[0] +        print( "killing: " + x ) +        utils.execsys( "/bin/kill " + signal + " " +  pid ) +        killed = killed + 1 + +    return killed + + +def cleanup( root ): +     +    # delete all regular files, directories can stay +    # NOTE: if we delete directories later, we can't delete diskfulltest +    for ( dirpath , dirnames , filenames ) in os.walk( root , topdown=False ): +        for x in filenames:  +            os.remove( dirpath + "/" + x ) + +    if killprocs() > 0: +        time.sleep(3) +        killprocs("-9") + +if __name__ == "__main__": +    root = "/data/db/" +    if len( sys.argv ) > 1: +        root = sys.argv[1] +    cleanup( root ) | 
